1. 参数传递
参数传递分为两个部分:
1. 通过将参数放入一个对象作为navigation.navigate
函数的第二个参数传递给参数:this.props.navigation.navigate('RouteName', { /* params go here */ })
2. 在页面中获取参数:this.props.navigation.getParam(paramName, defaultValue)
。注意:和v1.x的方式不同!!!!但是v1.x中的方式也可以正常使用
class HomeScreen extends React.Component {
render() {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Home Screen</Text>
<Button
title="Go to Details"
onPress={() => {
/* 1. Navigate to the Details route with params */
this.props.navigation.navigate('Details', {
itemId: 86,
otherParam: 'anything you want here',
});
}}
/>
</View>
);
}
}
class DetailsScreen extends React.Component {
render() {
/* 2. Get the param, provide a fallback value if not available */
const { navigation } = this.props;
const itemId = navigation.getParam('itemId', 'NO-ID');
const otherParam = navigation.getParam('otherParam', 'some default value');
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Details Screen</Text>
<Text>itemId: {JSON.stringify(itemId)}</Text>
<Text>otherParam: {JSON.stringify(otherParam)}</Text>
<Button
title="Go to Details... again"
onPress={() =>
this.props.navigation.push('Details', {
itemId: Math.floor(Math.random() * 100),
})}
/>
<Button
title="Go to Home"
onPress={() => this.props.navigation.navigate('Home')}
/>
<Button
title="Go back"
onPress={() => this.props.navigation.goBack()}
/>
</View>
);
}
}
可以通过
this.props.navigation.state.params
获取参数。在参数可能为null
的情况下,使用navigation.getParam
处理更简单。如果想直接通过参数(例如。
this.props.itemId
)访问参数this.props.navigation.getParam
,则可以使用社区开发的react-navigation-props-mapper安装包。
2. 总结
navigate
和push
都接受一个可选的第二个参数,将参数传递给即将跳转的路由。例如:this.props.navigation.navigate('RouteName', {paramName: 'value'})
。- 获取参数:
this.props.navigation.getParam
getParam
作为更好的替代方案,也可以使用this.props.navigation.state.params
。如果没有指定参数为null
。
最新评论
Nignx主要是后台做负载用,没想到你也这么用心
这个评论虽然不能一针见血,但是喜欢这个文章,一直喜欢这个时间管理法。很好
优秀
你对加密的定义很严谨,在平时及网络各种文章中,通常将 base64 称之为“加密”,上面及文章中提到的“加密”同样是这个意思,并非严格意义的加密。严格讲 base64 是一种编码方式。感谢你的回复。
严格意义上来说 base64 不算是加密(Encryption),而是一种编码形式(Encoding)。对于 UTF-8 这种也可以叫它为 Encoding。 加密(Encryption)是指像 R
Base64: 可逆性。 可以将图片等二进制文件转换为文本文件。 可以把非ASCII字符的数据转换成ASCII字符,避免不可见字符。 MD5: 不可逆性。 任意长度的明文字符串,加密后得到的密文字符
第一个问题BASE64的加密方式和MD5的加密方式在这里 哪种 好用?
正则规则的原理可以多说一些