导航参数未定义

时间:2019-08-23 04:36:19

标签: react-native

我正在尝试通过导航屏幕传递参数。但是,当我在子屏幕上收到参数时,它给我未定义的信息。

Parent Screen : 
navigate('Screen2', {itemId: 'sales'})

Screen2

const { navigation } = this.props;
const id = navigation.getParam('itemId');
console.log(id);

结果:

  

未定义

4 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码

const { id } = this.props.navigation.state.params;
console.log(id);

OR

const id  = this.props.navigation.state.params.id;
console.log(id);

答案 1 :(得分:0)

希望这行得通!

Parent Screen
    this.props.navigation.push('Screen2', {itemId: 'sales'});


Screen2
    const { id } = this.props.navigation.state.params;
    console.log(id);

//Hope you're using react-navigation

答案 2 :(得分:0)

看起来,您使用getParams方法的方式不正确。尝试以下操作:

const id = this.props.navigation.getParam('itemId', 'defaultId');

否则,您也可以使用@Jothi Basu和@hong开发的解决方案。

答案 3 :(得分:0)

使用navigation.state.params

Screen2:

const id = this.props.navigation.state.params.itemId