为什么在渲染函数之外移动道具的数组映射在React中不起作用?

时间:2018-03-13 22:23:19

标签: reactjs jsx es6-map

下面的例子很好用,我在渲染函数中映射道具数组。

class Calendar extends Component {
    render(){
        return(
           <div>
                { this.props.events.map((event, idx) => {
                    return <li key={idx}>{event.title}</li>
                })}

            </div>
        );
    }
}

但是,当我将数组地图移动到另一个功能时,不再有效。

class Calendar extends Component {

    handleEvents(){
        this.props.events.map((event, idx) => {
            return <li key={idx}>{event.title}</li>
        })
    }
    render(){
        return(
            <div>
                { this.handleEvents() }
            </div>
        );
    }
}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

我猜你只是忘了从你的功能回来

class Calendar extends Component {

    handleEvents(){
        // here.
        return this.props.events.map((event, idx) => {
            return <li key={idx}>{event.title}</li>
        })
    }
    render(){
        return(
            <div>
                { this.handleEvents() }
            </div>
        );
    }
}