React Native学习

【React Native】Redux入门教程

2018-10-18  本文已影响2人  嗖嗖编程

一.遇到问题

1.让我们举个例子

2.如果在RN中

3.state 在什么时候,由于什么原因,如何变化已然不受控制

二.Redux可以做什么

1.state

redux维护了一个全局的state,其他state都以一个对象树的形式储存在在其中。

globalState: {
    userInfoState: {
        userName: '李超'
    },
    
    courseState: {}
    
    ...
}

2.让我们举个例子

三.Redux长什么样子

三部分

1. store


1.1 是什么

2.2 作用

2. action


2.1 是什么

{
    type: kChangeUserName,
    userName: '李超'
}

2.2 作用

3. reducer


3.1 是什么

3.2 作用

四.store,action,reducer的运转

1.第一步,action创建函数

export function changeUserName() {
    return {
        type: kChangeUserName,
        userName: '李超'
    }
}

2.第二步,reducer处理函数

// 接收现有的state,和传过来的action
export default function handleUserInfo(state = {}, action) {
    switch (action.type) {
        case kChangeUserName:
            return {
                ...state,
                userName: action.userName
            };
            
        ...
        
        default:
            return state;
    }
}

3.第三步,根据reducer创建sotre

createStore(reducer);

4.第四步,发起昵称修改

store.dispatch(changeUserName());

五.如何使用Redux

1.编写业务所需的action和reducer,创建store。

2.在使用redux的页面中,绑定对应的数据

const mapStateToProps = globalState => ({
    userName: globalState.userInfoState.userName
});

const mapDispatchToProps = dispatch => ({
    dispatch
});

export default connect(mapStateToProps, mapDispatchToProps)(Page);

3.使用

this.props.userName;

this.props.dispatch(changeUserName());

六.总结

1.什么时候,由于什么原因,如何变化

什么时候 什么原因 如何变化
dispatch action reducer

2.严格的单向数据流

应用中所有的数据都遵循相同的生命周期,这样可以让应用变得更加可预测且容易理解。同时也鼓励做数据范式化,这样可以避免使用多个且独立的无法相互引用的重复数据。

七.Redux图解

八.参考文档

1.Redux中文文档

上一篇下一篇

猜你喜欢

热点阅读