我正在创建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
答案 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()。