Reactjs 在TodoApp中,单击TodoList中的项从TodoApp调用函数

Reactjs 在TodoApp中,单击TodoList中的项从TodoApp调用函数,reactjs,Reactjs,我在学习一些反应。我从托多普开始。TodoApp调用组件TodoList。现在,在每个项目上,当用户单击它时,我希望它触发TodoApp.rmItem(I,e)的函数,因此我尝试了以下方法: var TodoList = React.createClass({ createItem: function(itemText, index) { return <li key={index + itemText} onClick={this.context.rmItem.bin

我在学习一些反应。我从托多普开始。TodoApp调用组件TodoList。现在,在每个项目上,当用户单击它时,我希望它触发TodoApp.rmItem(I,e)的函数,因此我尝试了以下方法:

var TodoList = React.createClass({
    createItem: function(itemText, index) {
      return <li key={index + itemText} onClick={this.context.rmItem.bind(null, index)}>{itemText}</li>; ////////////// ISSUE
    },
  render: function() {
    return <ul>{this.props.items.map(this.createItem)}</ul>;
  }
});

var TodoApp = React.createClass({
  getInitialState: function() {
    return {items: [], text: ''};
  },
  onChange: function(e) {
    this.setState({text: e.target.value});
  },
  handleSubmit: function(e) {
    e.preventDefault();
    this.state.items.push(this.state.text);
    this.state.text = '';
    this.forceUpdate();
  },
  rmItem: function(i, e) {
    console.log('e:', e);
    alert(this.state.items[i]);
  },
  render: function() {
    return (
      <div>
        <h3>TODO</h3>
        <form onSubmit={this.handleSubmit}>
          <input onChange={this.onChange} value={this.state.text} />
          <button>{'Add #' + (this.state.items.length + 1)}</button>
        </form> 
        <TodoList items={this.state.items} />
      </div>
    );
  }
});

ReactDOM.render(<TodoApp />, mountNode);
如何进入父作用域并为其提供参数

这个例子不成立:

我想到的唯一解决方案是在这里设置范围:

<TodoList items={this.state.items} />

除此之外,还有:

<TodoList items={this.state.items} parentScope={this} />


谢谢

您可以从TodoApp、TodoList到TodoItem再点击一次?谢谢@DominicTobias您能用一些代码显示一下吗:(英语不是我的母语:(
<TodoList items={this.state.items} parentScope={this} />