1.2.6 • Published 8 years ago

react-native-redux-navigator v1.2.6

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

React Native redux navigator

概述

React Native的Navigator需要将navigator作为属性传入子组件,增加了父子组件之间的耦合。 react-native-redux-navigator在Navigator的基础之上,增加了redux的支持。

安装

npm install react-native-redux-navigator --save

使用方法

配置reducer

react-native-redux-navigator 需要一个名称叫做navigator的reducer,在配置combineReducer的地方:

import {navigator} from 'react-native-redux-navigator'

const reducers = combineReducers({
   // ...
   navigator
   // ...
});
使用组件

ReduxNavigatorProvider组件封装了Navigator,在其基础上结合了redux进行工作。

import {ReduxNavigatorProvider} from 'react-native-redux-navigator'
// ...
// 具体属性参考React Native Navigator
// React Native Navigator的属性都可以使用
<ReduxNavigatorProvider
  initialRoute={{name : "index"}}
  renderScene={(route, query) => {
    return <View><Text>hello</Text></View>
  }}
  configScene={(route) => Navigator.SceneConfigs.FloatFromRight}
/>
      

路由actions

import actions:

import { navTo, navBack, navReset, navReload }  from "react-native-redux-navigator"
navTo (route, query , replace = false, immediately = false)

跳转到某一路由 参数说明

  • route 路由对象
  • query 页面参数(类似html页面的query)
  • replace 默认值是false, 这个参数决定路由执行push还是replace
  • immediately 默认值false, 如果immediately设置为true则不会播放动画
navBack({backToFilter, refresh = false, emptyTarget} )

回退 参数说明

  • backToFilter 传入一个函数, 决定回退到某一张页面
  • emptyTarget 路由对象: 如果已经在第一张页面了, 然后去哪里
  • refresh
// 回退到某一张name = 'Login'的页面
dispatch( navBack({backToFilter : navBack( (route) => route.name === 'Login' )}) )

// 回退一张页面
dispatch( navBack() )

// 回退一张页面并刷新
// 比如到某张页面需要登录, 然后登录完成后,回退到之前的页面并刷新
dispatch( navBack({refresh : true}) )

// 如果已经在第一张页面了, 则回退到首页
dispatch( navBack({emptyTarget : {name : "Home"}})

navReset(route)

重置整个路由栈到某个路由,比如经历了一个较长的提交流程(第一步、第二部等), 执行完成后不希望用户再可以回退到之前的步骤,可能会使用这个操作。

navReload()

刷新当前页面

1.2.6

8 years ago

1.2.5

8 years ago

1.2.4

8 years ago

1.2.3

8 years ago

1.2.2

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.0

8 years ago

1.0.0

8 years ago