如何使用react native映射componentWillMount中的嵌套数组

时间:2018-01-17 07:12:05

标签: react-native

我正在创建react-native app。我有一个数组,并希望在循环之外使用值。我已在this.state = {current_cat_id:'',}中声明了值我在componentWillMount中尝试了它,如:

componentWillMount() {
    var ids = [];
    this.props.data.map((dataImage,Index) => {
        dataImage['main-head'].map((subchild,Index2) => {
            ids.push(subchild['path'])  
            })

    })
    this.setState({current_cat_id: ids})
}

返回空白页面。这是正确的approch

2 个答案:

答案 0 :(得分:1)

它应该适合你。试试这个: -

componentWillMount() {
    var ids = [];
    this.props.data.map((dataImage) => {
        dataImage['main-head'] != undefined && dataImage['main-head'].map((subchild) => {
            ids.push(subchild['path'])  
            })        
    })
    this.setState({current_cat_id: ids})
}

答案 1 :(得分:0)

在执行render方法之前调用componentWillMount。重要的是要注意,在此阶段设置状态不会触发重新渲染。避免在此方法中引入任何副作用或订阅。请改用componentDidMount()。