在ReactJS中未定义this.props.children

时间:2015-02-02 12:25:42

标签: reactjs children

我正在使用ReactJS,我正在尝试从this.props.children获取子项,但是它返回undefined。 According to the documentation我应该可以访问这个特殊财产。

componentDidMount: function() {
    console.log("this",this) // this ReactCompositeComponent.createClass.Constructor 
    this.setMenuListeners.apply(this);
    this.loadMenuFromServer();
},

setMenuListeners: function() {
    pubSub.on('mainMenu.menuItemClicked',function() {
        console.log(this.props.children) // undefined
    }.bind(this))
},

以下是一些渲染孩子的代码:

loadMenuFromServer: function() {
    var menus = []
    $.getJSON(APPFS.menuItems,function(data){
        for(var s in data) {
            menus.push(<MenuItem expandable={true} content={s} />)
            menus.push(<ul onClick={this.menuItemClicked} className="main-menu-submenu">{
                this.loopAndAddMenu(data[s]).map(function(result){
                    return(result)
                })
            }</ul>)
        }
        this.setState({data:menus})
    }.bind(this));
},

loopAndAddMenu: function(data) {
    var menus = []
    for(var s in data) {
        menus.push(<MenuItem expandable={false} content={s} key={data[s]} />)
    }
    return menus
},

render: function(){
    return (
        <ul className="main-menu">
            {this.state.data}
        </ul>
    )
}

0 个答案:

没有答案