• redux-actions


    ♦ 安装插件

    cnpm i redux-actions -S

    ♦ actions代码

    import { createActions } from 'redux-actions'
     
    export default createActions({
       'HOME_DATA_TYPE': options => options
    })

    ♦ reducer代码

    import { handleActions } from 'redux-actions'
     
    const defaultState = {
       
    }
     
    export default handleActions({
       'HOME_DATA_TYPE': (state, action) => action.payload
    }, defaultState)

    ♦ 派发的action需要转换成驼峰的命名形式才可以使用,这里使用一个封装好的公共方法, 我给其命名为str

    export default function (sName) {
       return sName.toLowerCase().replace(/^\_/, '').replace(/\_([a-zA-Z0-9])([a-zA-Z0-9]+)/g, function (a, b, c) {
         return b.toUpperCase() + c.toLowerCase()
       })
    }

    ♦ 页面使用

    这里使用hook写的

    import React, { useEffect } from 'react'
    import { connect } from 'react-redux'
    import homeAction from '@/actions/home'
    import str from '@/utils/str'
    
    export default connect(state => {
      return {
    
      } 
    }, {
      homeAction: homeAction[str('HOME_DATA_TYPE')]
    })(Home)
    
    function Home(props) {
      useEffect(() => {
        const { homeAction } = props
        homeAction('小花')
      }, [])
      return (
        <div className="pages-home">
          <h1>home</h1>
        </div>
      )
    }
  • 相关阅读:
    java程序员裸机配置
    安装库
    自定义脚本模板
    Oracle数据库触发器简单案例
    Oracle数据库按正则切割字符串
    Oracle查询一张表的所有字段
    Oracle数据库系统表
    Oracle设置最大连接数
    Oracle博客参考教程
    区间dp [H
  • 原文地址:https://www.cnblogs.com/fengxiana/p/13152217.html
Copyright © 2020-2023  润新知