Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 将导航参数传递到第二个屏幕组件状态react NAVISION_Reactjs_React Native_React Navigation - Fatal编程技术网

Reactjs 将导航参数传递到第二个屏幕组件状态react NAVISION

Reactjs 将导航参数传递到第二个屏幕组件状态react NAVISION,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,我使用react navigation life cycle methodonWillFocus从屏幕A导航到B,使用对象参数,我需要在导航到屏幕和onWillFocus激发后将有效载荷.state.params设置为组件状态 我尝试了它,但状态返回未定义,我如何使用生命周期获取发送的参数,以及如何使用保存的参数在同一组件生命周期中从API获取数据。并将其保存到状态,以便在新屏幕中使用 我的渲染功能: render(){ <navigationEvents onWi

我使用react navigation life cycle method
onWillFocus
从屏幕A导航到B,使用对象参数,我需要在导航到屏幕和
onWillFocus
激发后将
有效载荷.state.params
设置为组件状态

我尝试了它,但状态返回未定义,我如何使用生命周期获取发送的参数,以及如何使用保存的参数在同一组件生命周期中从API获取数据。并将其保存到状态,以便在新屏幕中使用

我的渲染功能:

render(){
    <navigationEvents
        onWillFocus={payload => this.getSessionData(payload)}
    />
}

澄清一下:您在这里加载的是一个全新的页面,而不是简单地呈现组件B而不是a?是的,我在这里的意思是从一个屏幕导航到另一个屏幕B@Andrew我在这里的意思是设置状态,通过WillFocus上的react navigation life cycle您试图使用导航生命周期事件将值从一个屏幕传递到另一个屏幕。你需要确保正确传递值你不能只通过道具传递值?!澄清一下:您在这里加载的是一个全新的页面,而不是简单地呈现组件B而不是a?是的,我在这里的意思是从一个屏幕导航到另一个屏幕B@Andrew我在这里的意思是设置状态,通过WillFocus上的react navigation life cycle您试图使用导航生命周期事件将值从一个屏幕传递到另一个屏幕。你需要确保正确传递值你不能只通过道具传递值?!
getSessionData = (session_data) => {
    const session = session_data.state.params;
    this.setState({
        session_data: {...this.state.session_data, session}
    });
    console.log(this.state.session_data);
}