Javascript ReactJS更新数组

Javascript ReactJS更新数组,javascript,reactjs,Javascript,Reactjs,我现在开始学习ReactJS,在更新数组时遇到了一些问题 目前我有一个可搜索的联系人列表,工作正常。但是使用列表下面的输入框,我试图使用update()函数向列表中添加其他项 下面是到目前为止我为更新函数得到的示例。理想情况下,在某个时刻,更新的内容将来自按钮左侧的输入框,但目前我只是尝试将一个静态项作为测试 updateContact: function(e){ e.preventDefault(); var newItems = React.addons.update(t

我现在开始学习ReactJS,在更新数组时遇到了一些问题

目前我有一个可搜索的联系人列表,工作正常。但是使用列表下面的输入框,我试图使用update()函数向列表中添加其他项

下面是到目前为止我为更新函数得到的示例。理想情况下,在某个时刻,更新的内容将来自按钮左侧的输入框,但目前我只是尝试将一个静态项作为测试

  updateContact: function(e){
    e.preventDefault();
    var newItems = React.addons.update(this.state.initialItems, {$push: ["New Item"]})
    return;
  },
任何帮助或指导都将不胜感激,下面可以找到完整的JSFIDLE和完整的代码

您没有调用,因此组件不会重新呈现:

updateContact: function(e){
  e.preventDefault():
  var newItems = React.addons.update(this.state.initialItems, {$push: ["New Item"]});

  this.setState({
    initialItems: newItems,
    items: newItems
  }); // update state
},
请注意,同时更新,
this.state.items
this.state.initialItems
。我假设您对筛选列表使用
,对列表中的所有项使用
初始项

当然,您必须用文本字段的实际值替换
“New Item”


我还将删除
组件willmount
,并在
getInitialState
中将
initialItems
items
设置为相同的值

另外,如果只需将处理程序直接绑定到按钮并删除
,则不必处理防止事件的问题。这似乎是一种相当迂回的方式来触发回调


清理示例:

您的问题到底是什么?有些东西没有按预期工作吗?这是什么?你期待什么?谢谢!真不敢相信我错过了一些简单的事情,比如只是更新状态。至于initialItems vs items,我已经按照教程设置了该部分,但也不确定,我也很感谢这方面的指导。