0

TabNavigator反応ネイティブ プロジェクトでを使用しており、 と を介して画面間でデータthis.props.navigation.setParams()をそれぞれ渡していますthis.props.navigation.getParam()。問題は、このアプローチが機能することです。そのデータを初めて送信するとき、2回目にデータを送信しようとするときにのみ、画面を離れるときにデータが更新されませんnavigation.state.params

以下は、データの送受信を担当するコードの断片です。

import {NavigationEvents} from 'react-navigation';

...

receiveData = () => {
    if (this.props.navigation.state.params.data !== null) {
        const data = this.props.navigation.getParam('data');
        this.setState({data});
    }
}

sendData = () => {
    const {data} = this.state;
    this.props.navigation.setParams({data});
}

render(){

...

<NavigationEvents
    onWillFocus = {this.receiveData}
    on WillBlur = {this.sendData}
/>

...

}

4

2 に答える 2