首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将函数传递给子列表项

将函数传递给子列表项
EN

Stack Overflow用户
提问于 2016-06-29 15:28:17
回答 1查看 33关注 0票数 1

我有一个问题:如何使用React将函数传递给子组件中的列表中的每一项。现在我有了一份“儿童”的号码列表。单击其中一些应该会更改父级和“焦点”=单击值中的状态。请解释一下它的工作原理。

代码语言:javascript
复制
var App = React.createClass({
    getInitialState: function(){
      return {focused : 'nil'}
    },
    clickHandler: function(e){
      this.setState({focused: e});
    },
    render: function(){
      return(
        <div className = 'app'>
          <Child data = {['1', '2', '3']} handler = {this.clickHandler} />
          {this.state.focused}
        </div>
      );
    }
  });
  var Child = React.createClass({
    clickHandler: function(e){
      {this.props.handler(e)}
    },
    render: function(){
      var self = this;
      var list = this.props.data.map(function(item, index){
        return <li key = {index} onClick = {self.clickHandler}>{item}</li>
      });
      return(
        <ul className = 'child'>
          {list}
        </ul>
      );
    }
  });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-29 15:41:59

将项绑定到单击处理程序

代码语言:javascript
复制
 var Child = React.createClass({
        clickHandler: function(e){
          {this.props.handler(e)}
        },
        render: function(){
          var self = this;
          var list = this.props.data.map(function(item, index){
            return <li key = {index} onClick = {self.clickHandler.bind(null,item}>{item}</li>
          });
          return(
            <ul className = 'child'>
              {list}
            </ul>
          );
        }
      });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38103982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档