博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React-Native 开发(二) 在react-native 中 运用 redux
阅读量:4086 次
发布时间:2019-05-25

本文共 2123 字,大约阅读时间需要 7 分钟。

前提: 一个小web前端,完全不会android 跟iOS 的开发,首次接触,有很多不懂的问题。请见谅。

环境: win7

上一篇 : 

1、目录结构

入口文件为 main.js、之所以不在 index.android.js 直接写 是因为本来 react-native 就是一套代码,运用在android 跟 iOS 平台上,所以只需要一个入口文件,分别在两个其他的文件中引入改入口文件就可以啦。

api 文件夹中放的是 请求接口的代码

component 文件夹中放置组件

config 中放置的是项目的相关配置

redux 文件夹中 分别用 actions / reducers / store 文件夹 放置 redux 的三个东西。

2、定义action

其中一个action

var courseInitState = {    courseList: [],    loading: true,};

3、把reducer分类,分别定义在不同的文件

其中一个reducer

export default function (state = courseInitState, action) {    switch (action.type) {                case 'GET_COURSE_LIST':             return {...state, courseList: action.courseList};        case 'COURSE_LOADING':             return {...state, loading: action.loading}        default:            return state;    }}

4、把reducers 在同一个文件内引入,并且合并

import { combineReducers } from 'redux';import previewReducer from './preview';import courseReducer from './course';import groupReducer from './group';import headReducer from './head';import videoRedecer from './video';var reducers = combineReducers({    previewReducer: previewReducer,    courseReducer: courseReducer,    groupReducer: groupReducer,    headReducer: headReducer,    videoRedecer: videoRedecer});export default reducers

5、传入 reducer 初始化 store

import { createStore, applyMiddleware,compose } from 'redux';import thunk from 'redux-thunk';import reducers from '../reducers'var store = createStore(    reducers,    compose(        applyMiddleware(thunk)    ))export default store;

6、在main 文件中引入 store

import React, { Component } from 'react';import { Provider } from 'react-redux';import PreviewList from './component/PreviewList';import stores from './redux/store';import GroupList from './component/GroupList';import Nav from './component/Nav';import {  StyleSheet,  View,  Text,} from 'react-native';const store = stores;function render() {    return (      
); }store.subscribe(function(){ render();});export default render

7、在入口文件 index.android.js 文件中注册一个app

import { AppRegistry } from 'react-native';import main from './main';AppRegistry.registerComponent('AwesomeProject', () => main);

转载地址:http://wseni.baihongyu.com/

你可能感兴趣的文章
机器学习100+问
查看>>
机器学习需要多少训练数据?
查看>>
谈Elasticsearch下分布式存储的数据分布
查看>>
史上最全采样方法详细解读与代码实现
查看>>
机器学习常见的采样方法
查看>>
深度生成模型之自编码器(AutoEncoder)
查看>>
自编码器(VAE)利用重建概率的异常检测
查看>>
生成对抗网络 | 实验
查看>>
矩阵补全(Matrix Completion)和缺失值预处理
查看>>
信道编码之纠删码编码
查看>>
计算机视觉中的注意力机制
查看>>
用于心电疾病诊断的深度学习模型库
查看>>
Mujoco以及mujoco_py在win10下的从零开始无脑安装法
查看>>
win10安装mujoco150出现distutils.errors.错误
查看>>
win10安装mujoco一点细节
查看>>
WIN10系统安装gym、mujoco以及Atari
查看>>
TensorFlow:实现CNN对MNIST数据集分类 与 朴素贝叶斯训练并生成MNIST样本python实现 与 LSTM 的 MNIST 分类 + 可视化
查看>>
python sklearn svm模型的保存与加载调用
查看>>
Scikit-learn实现XGBoost算法
查看>>
为什么深度学习对训练样本的数量要求较高?
查看>>