参考:http://www.devio.org/2018/05/15/navigator-to-react-navigation/
参考:https://www.jianshu.com/p/1d0ace411550
使用navigate进行界面之间的跳转
navigate(routeName, params, action)
1,routeName: 要跳转到的界面的路由名,也就是在导航其中的路由名;
2.params:要传递给下一个界面的参数
3.action:如果该界面是一个navigator的话,将运行这个sub-action
在子组件中怎么使用navigation要使用 withNavigation
withNavigation是一个高阶组件,它可以将navigation这个prop传递到一个包装的组件,
当你无法直接将<code> navigation这个prop传递给组件,或者不想在深度嵌套的
子组件中传递它时,它将非常有用
withNavigation(Component) 返回Component
就是当你一个页面里面包含自己封装的组件,并且你封装的组件里面有需要页面跳转的时候,
这个时候就需要使用withNavigation,这个方法可以很方便的解决这个问题,这里提供两种方法,一种是使用withNavigation这个来实现,另一种是通过给包装组件传递props
使用教程:
第一种方法:(withNavigation);
1.首先在包装组件中导入withNavigation,
import {withNavigation} from 'react-navigation'
2.导出包装组件,导出方法,
export default withNavigation(包装组件类名)
3.然后我们就可以像父组件一样实现页面跳转
使用FlatList:
参考:https://juejin.im/post/5a90ca01f265da4e853d70cc
1.data: 数据源组
2.keyExtractor: 函数生产一个不重复的key,key的作用是React能区分同类元素的不同个体,
以便在刷新时能够确定其变化的位置,减少重新渲染的开销,若不指定此函数,则默认抽取
item.key作为key值,若item.key也不存在,则使用数组小标index.这个属性是ListView不具备的,
它在FlatList和SectionList中用做每个item的唯一属性
3.renderItem: 根据列表中每行数据渲染每一行的组件,类似ListView中RenderRow,区别在于
在于FlatList需要指定KeyExtractor 而RenderRow不需要
4.numColumns: 水平模式下设置列表item的网格布局,这点比起ListView就方便多了,不需要设置flexWrap了
FlatList点击事件