我对React很陌生,我无法弄清楚如何操纵DOM。
我有一组带复选框的组件,我有一个删除按钮,我想删除单击删除按钮时选中的元素。
这是我正在使用的代码片段:
...
deleteMessage: function(event) {
this.refs.select_message.getDOMNode(); // I get only the last element
},
...
...
render: function() {
var Messages = this.props.messages;
return (
<div>
<button onClick={this.deleteMessage}>Delete</button>
{Messages.map(function(message) {
return (
<div>
<input type='checkbox' className='select_message' ref='select_message'/>
</div>
);
})}
</div>
);
我是以正确的方式做到的吗?
答案 0 :(得分:4)
您应该在deleteMessage中调用已从父级传递的处理程序。反过来,它会从外部修改消息数组。然后新的messages数组将作为props传入。您需要的主要见解是道具不仅是为渲染传递的数据,还包括在组件内部发生用户交互时要调用的函数。