接收屏幕之间的参数React-Native



我已经向屏幕发送了一个参数:

var states = [
{label: "happy", value: 1},
{label: "sad", value: 2},
{label: "angry", value: 3},
{label: "relaxed", value: 4}
];
export default class App extends Component<Props> {
state = { val: "8" }; // set state here
render() {
return (
<View style={styles.container}>
<Paragraph style={styles.textStyle}>How are you feeling today ?</Paragraph>
<RadioForm
radio_props={states}
initial={2}
onPress={(value) => {ToastAndroid.show(value.toString(), ToastAndroid.SHORT),this.setState({val:value})}}
buttonSize={30}
buttonOuterSize={40}
selectedButtonColor={'blue'}
selectedLabelColor={'blue'}
labelStyle={{ fontSize: 15, }}
disabled={false}
formHorizontal={false}
/>

<Button title="Submit" onPress={() => this.props.navigation.navigate('ButtonsScreen',{
value: this.state.val})}/>
</View>
);
}
}

,现在我试着接收它:

const Buttons = ({navigation}) => {
let param = this.props.navigation.getParam(value)
return (

<View>
<Button title="Run Playlist" onPress={() => navigation.navigate('Playlist')}/>
</View>
);
};

但是它给了我一个错误:&;undefined不是一个对象(求'_this.props.navigation')&;有谁知道是怎么回事吗?

试一下

const Buttons = ({navigation, route}) => {
let param = route.params.value
....

最新更新