我真的是 React 的新手,我正在努力解决在我看来很简单的问题。这是我构建的组件的图片。
我试图完成的事情似乎微不足道,但实际上我读过的每一篇解释该做什么的文章都告诉了我一些不同的事情,并且没有一个解决方案有效。它分解为:当用户单击一个标签时,它会构建一个托盘并循环遍历一系列颜色以构建颜色按钮。单击颜色按钮时,它需要将单击的颜色传递给其父组件并运行一个函数来更新其颜色。我读过关于通量、事件冒泡、将“this”绑定到属性的内容,但这些解决方案似乎都不起作用。React 文档对于像我这样的新手来说基本上没用。在这一点上,我想避免复杂的事件结构,例如flux,因为我将一些简单的组件附加到我最初不是在 React 中编写的现有应用程序中。
另外,PS,这段代码在 JSX 中,这对我来说比直接的 JS react更有意义。在此先感谢您的帮助!
var colorsArray = ["#ED5851", "#9CCC64", "#337AEC", "#ff7a45", "#7E58C2", "#FFEB3B", "#78909C", "#FFFFFF", "#213a4b"];
var EditDrawer = React.createClass({
updateColor: function() {
console.log("New Color: " + i);
},
render: function(){
var passTarget = this;
return (
<div className="container-fluid animated fadeIn extra-fast-animation tag-edit-drawer">
<div className="row">
<div className="col-xs-12">
{colorsArray.map(function(object, i){
return <ColorButton buttonColor={object} key={i} />;
})}
</div>
</div>
</div>
);
}
})
var ColorButton = React.createClass({
render: function(){
var buttonStyle = {
backgroundColor: this.props.buttonColor,
};
return (
<div className="tag-edit-color-button" style={buttonStyle} >
</div>
)
}
})