react-native - 接收屏幕之间的参数 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>
);
};
但这给了我一个错误:“未定义不是对象(评估'_this.props.navigation')”有人知道出了什么问题吗?
解决方案
像这样试试
const Buttons = ({navigation, route}) => {
let param = route.params.value
....
推荐阅读
- ios - 在 iOS 14 上的 SwiftUI 中显示两次视图
- scala - 如何作为任务的结果返回空向量?
- cloud - Openstack多站点云编排
- javascript - Pug / Jade:在 list-group-item 内容之前添加 font-awsome 按钮
- elasticsearch - 从远程服务器向 Elasticsearch 传递数据
- ruby-on-rails - 根据用户状态显示或隐藏“高级功能”的最佳实践?
- android-ffmpeg - “ffmpeg -i test.mp4 -vf drawtext=fontfile=arial.ttf:text=welcome output.mp4”,“-vf”是什么意思?
- html - 鼠标悬停会使顶部栏中的文本和图标从网站上消失
- npm - npm WARN eslint-plugin-vue@6.2.2 需要 eslint@^5.0.0 的 peer || ^6.0.0 但未安装
- android - Firestore 规则 - 查询文档字段而不暴露整个集合