通过getParam方法访问参数时出现错误,如下所示
const source = this.props.navigation.getParam("source","0")
const doFollow = this.props.navigation.getParam("doFollow","")
我已使用以下方法传递了参数
this.props.navigation.navigate('Details', {otherParam:"anything"})
答案 0 :(得分:5)
这取决于您使用的react-navigation
版本。
在v4中
this.props.navigation.getParam('source')
在v5中
this.props.route.params.source
答案 1 :(得分:1)
它可能不完全适合您的示例,但是我正在传递/检索这样的数据:
this.props.navigation.navigate('DisplayPage', { meetId: item.ID })
然后在接收页面上
props.navigation.state.params.meetId
答案 2 :(得分:1)
如果您使用的是最新版本的React Navigation(即5.0或更高版本)。您可以简单地使用this.props.route.params.YOUR_PARAMETER_KEY
传递参数
答案 3 :(得分:1)
如果要在React-Native中将数据(例如JSON)从一个类发送到另一类。
this.props.navigation.navigate('Detail Screen', json)
此处json是具有键值的JSON对象。例如。
{ id: 1234, name: "Dean", age: 30}
在渲染器的接收器类/导航类中
const name = this.props.route.params.name;
const age = this.props.route.params.age;
注意:请确保将数据作为键值{key:value}
发送答案 4 :(得分:0)
假设您使用的是最新的react-navigation
。
您正在犯一个小错误。
尝试从函数中删除第二个参数。
let source = this.props.navigation.getParam("source")
let doFollow = this.props.navigation.getParam("doFollow")
if(!source) source = "0"
if(!doFollow) doFollow = ""
答案 5 :(得分:0)
function(props)
{
props.navigation.goBack() //For navigation
props.route.params.**source** //For params
}
V5:
没有对象解构-->
function({navigation, route})
{
navigation.goBack() //FOR navigation
route.params.**source** //FOR params
}
对象解构-->
{{1}}