RN 中使用 React-Redux

在React Native (RN)中使用React-Redux与React应用中的方式基本相同,通过在根组件中包裹store,利用connect将mapStateToProps和mapDispatchToProps绑定到组件。本文展示了从设置store到创建action和reducer的完整流程,并提供了实际操作的例子,如在Add和AlterColor页面中展示和修改store数据。
摘要由CSDN通过智能技术生成

在 RN 中如何使用 React-Redux

其实,在 RN 中使用 React-Redux 和 React 中类似,可以说一模一样

都是在根元素中使用,<Provider>来包裹根组件,导入 store,将 store 挂载在 Provider 上。

代码的结构:

.
├── src                       # 程序源文件夹         
│   ├── pages                 # 主要的页面,文件夹
│   ├── navigation            # 页面的导航,文件夹
│   ├── redux              	  # redux,文件夹
│   └── App.js				  # 根组件,文件
└── index.js             	  # 程序入口文件

index.js 代码:

import {
   AppRegistry} from 'react-native';
import App from './src/App';
import {
   name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => App);

App.js 代码:

import React, {
   Component} from 'react';
import store from './redux/store';
import AppNavigation from './navigation/AppNavigation';
import {
   Provider} from 'react-redux';

export default class App extends Component {
   
  render() {
   
    return (
      <Provider store={
   store}>
      	<AppNavigation />
      </Provider>
    );
  }
}

其中 AppNavigation 是导航(react-navigation)

AppNavigation.js 代码:

import {
   createAppContainer} from 'react-navigation';
import {
   
  createStackNavigator,
  StackViewStyleInterpolator,	// 这个是一个页面的弹出的方向,安卓默认是从下到上,这个就将方向改为从左往右
} from 'react-navigation-stack';

import Book from '../pages/';	// 如果你的文件名为 index.js 会默认加载这个文件
import Add from '../pages/otherPage/add';
import AlterColor from '../pages/otherPage/alterColor';

const stack = createStackNavigator(
  {
   
    Book: {
   
      screen: Book,
      navigationOptions: {
   
        header: null,
      },
    },
    Add: {
   
      screen: Add,
    },
    AlterColor: {
   
      screen: AlterColor,
    },
  },
  {
   
    transitionConfig: () => ({
   
      screenInterpolator: StackViewStyleInterpolator.forHorizontal,
    }),
  },
);

export default createAppCon
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值