1.2.6 • Published 10 years ago

react-native-redux-navigator v1.2.6

Weekly downloads
2
License
MIT
Repository
github
Last release
10 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

10 years ago

1.2.5

10 years ago

1.2.4

10 years ago

1.2.3

10 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago