【发布时间】:2018-07-22 16:40:12
【问题描述】:
子组件:
export default class Button extends React.Component {
constructor(props) {
super(props);
}
render() {
return(
<div className="form-group">
<button
// Need to add dynamic html attr here e.x: data-id
key={index}
id={id}
className={`btn btn-default ${componentClass ? componentClass : null }`}
type="button"
onClick={this.props.onClick}>
{text}
</button>
</div>
);}}
父组件:
import Button from './Button';
Class App extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div className="s">
<Button data-id="exampleData" /> // Need to add data-id attr to child button
</div>
);
}
按钮组件,有它自己的默认属性,如上所述:id,className,type,onClick
父组件,将调用Button组件并添加一些额外的属性,如data-id,onChange。
注意:在搜索了一些想法之后,我知道我可以使用如下扩展运算符:
父组件:
let dynamicAttributes = {"data-id":"someString", "data-attr":"someString", "data-url":"someString"};
return (
<div className="s">
<Button dataSrc={ btnSrc } {...dynamicAttributes} />
</div>
);
不知道如何将Button组件中的dynamicAttributes调用为html属性
期待一个好的解决方案。提前致谢。
使用 Destructing 和 Babel Showing error(unexpected token) 如下图所示。
注意:已经安装了 preset-env 和 preset-react。
【问题讨论】:
标签: reactjs