更改后无法更新项目-React Native

时间:2019-10-06 11:17:00

标签: javascript reactjs react-native

我的主屏幕上有一个Post组件作为模块导入,并且有一个平面列表。当我单击“发布”组件上的按钮时,我希望主页上的平面列表能够进行更改并更新所选索引。但我想有些东西丢失了。

Post.js //

shouldComponentUpdate(nextProps) {
    if(nextProps.data.is_bookmarked != this.state.data.is_bookmarked) {
       this.setState({data: nextProps.data})
       return true
    }
    else {
        return false
    }
}

...

<TouchableOpacity onPress={() => {
     if(this.props.onConfirmed != undefined) {
     this.props.onConfirmed(!this.state.data.is_bookmarked);
     }
}}>

主页//

renderItem = ({ item, index }) => {
    return (
        <Post

        onConfirmed={(index) => {

            this.setState((prevstate) => {
            prevstate.is_bookmarked = !item.is_bookmarked
            return prevstate

        })

        }}

        key = {item.id + '-' + item.is_bookmarked}

        data={item}

        ></Post>
    );
}

...

<FlatList
        data={this.state.data}
        renderItem={this.renderItem}
        keyExtractor={item => item.id}
/>

0 个答案:

没有答案