reudx基本使用

Posted усил

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了reudx基本使用相关的知识,希望对你有一定的参考价值。

创建 store

redux/index.js

import  createStore  from 'redux';

const defaultState = 
    language: 'zh',
    languageList: [
         name: '中文', code: 'zh' ,
         name: '英文', code: 'en' 
    ]


const reducer = (state = defaultState, action) => 
    switch (action.type) 
        case "change_labguage":
            return  ...state, language: action.payload ;
        default:
            return state
    


const store = createStore(reducer);
export default store;

在类组件中使用

import React from 'react';
import store from 'redux/index'
// 在 类中使用 redux
class HeaderComponet extends React.Component 
    constructor(props) 
        super(props);

        // 获取 store 数据参数
        const storeState = store.getState();

        this.state = 
            language: storeState.language,
            languageList: storeState.languageList
        

        // 订阅 store
        store.subscribe(() => 
            // 重新取出新数据
            const newState = store.getState();
            this.setState(
                language: newState.language,
                languageList: newState.languageList
            )
        );
    

    menuClickHander = (e) => 
        const action = 
            type: 'change_labguage',
            payload: e.key
        
        // 向仓库去分发指令
        store.dispatch(action);
    

    render() 
        return (
            <div className="header">
                <Dropdown.Button
                   overlay=
                   <Menu onClick=() => this.menuClickHander items=this.state.languageList.map(l => return key: l.code, label: l.name )/>
                   > this.state.language === 'zh' ? '中文': 'English' </Dropdown.Button>
            </div>
        )
    


函数组件中使用

跟类组件使用类似,通过注入的方式使用

以上是关于reudx基本使用的主要内容,如果未能解决你的问题,请参考以下文章

Autofac的基本使用---目录

MSF基本使用(基本结构与payload演示)

13优先使用基本类型

ajax基本使用

微信小程序常用组件及基本使用详解

Git的基本使用(只是基本使用)