javascript - React Native Confusion 与导航
问题描述
任何人都可以向我解释以下情况下导航这个词的错误吗?
userByEmail(this.state.Email, navigate) // we call userByEmail ans pass email, but what does navigate do?
在这里,我知道我们是在从 screenProps 内部的 auth 导入/(解构 this.props)方法 createUser?navigation: {navigate}} 是什么,它只是导航道具吗?
const {screenProps: {auth: {createUser}}, navigation: {navigate}} = this.props
最后这两者有什么区别
this.props.navigation.navigate('Calendar')
navigate('Calendar')
解决方案
我不能只用你的一些代码来做。但如果navigate
不是变量,这是错误的。
this.props.navigation
route
设置时,navigation props
会自动传递到已连接的屏幕。- 如果不直接设置路由,则通过调用factor
HOC
提供的 方式注入组件react-navigation
。
配置导航道具
导航:转到另一个屏幕,找出它需要采取的行动
goBack - 关闭活动屏幕并返回堆栈
addListener - 订阅导航生命周期的更新
isFocused - 如果屏幕聚焦,则返回 true,否则返回 false。
state - 当前状态/路线
setParams - 更改路由的参数
getParam - 获取带有回退的特定参数
dispatch - 向路由器发送一个动作
'navigate'
您要使用的 是 的道具navigation
。
推荐阅读
- excel - 用 VBA 抓取 IE,如何滚动到页面底部?
- python - 如何根据列表中的人口返回州名?
- java - 运行具有依赖项的 jar 时,Undertow 应用程序未启动
- angular - 有没有办法在 Ion-Content 的元素中使用 Ion-Refresher 而无需拉下页面上的所有其他内容?
- javascript - JavaScript 中的循环调度算法
- python - 包含多个项目的一个元组的列表
- java - 如何从Java中不断变化的模板中提取字符串?
- parsing - 在haskell中使monad成功失败
- spring-data - 如何使用 spring-data-jdbc 实现批量插入
- java - Java - 拖放不可拖动且在 Chrome 中不起作用