使用 RadioButton 时在屏幕之间传递变量 React-Native
Pass a variable between the screens React-Native when using RadioButton
我创建了一种表单,我想在按下提交时将一个变量传递到下一个屏幕。
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> {
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)}}
buttonSize={30}
buttonOuterSize={40}
selectedButtonColor={'blue'}
selectedLabelColor={'blue'}
labelStyle={{ fontSize: 15, }}
disabled={false}
formHorizontal={false}
/>
<Button title="Submit" onPress={() => this.props.navigation.navigate('ButtonsScreen')}/>
</View>
);
}
}
所以,我想将变量“值”(用户选择的)传递给 'ButtonsScreen'。
有人知道吗?
试试这个方法
export default class App extends Component<Props> {
state = { val: "" }; // set state here
render() {
return (
<View style={styles.container}>
....
<RadioForm
....
onPress={(value) => {
this.setState({ val: value });
}}
....
/>
<Button
title="Submit"
onPress={() =>
this.props.navigation.navigate("ButtonsScreen", {
value: this.state.val,
})
}
/>
</View>
);
}
}
我创建了一种表单,我想在按下提交时将一个变量传递到下一个屏幕。
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> {
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)}}
buttonSize={30}
buttonOuterSize={40}
selectedButtonColor={'blue'}
selectedLabelColor={'blue'}
labelStyle={{ fontSize: 15, }}
disabled={false}
formHorizontal={false}
/>
<Button title="Submit" onPress={() => this.props.navigation.navigate('ButtonsScreen')}/>
</View>
);
}
}
所以,我想将变量“值”(用户选择的)传递给 'ButtonsScreen'。 有人知道吗?
试试这个方法
export default class App extends Component<Props> {
state = { val: "" }; // set state here
render() {
return (
<View style={styles.container}>
....
<RadioForm
....
onPress={(value) => {
this.setState({ val: value });
}}
....
/>
<Button
title="Submit"
onPress={() =>
this.props.navigation.navigate("ButtonsScreen", {
value: this.state.val,
})
}
/>
</View>
);
}
}