React尚硅谷103-114(react-redux,优化redux,devtools,纯函数)

this.props.jiaAsync(value*1,500)

}

render() {

//ui组件接收到的props

// console.log(this.props)

return (

当前求和为:{this.props.count}

 <select ref={c => this.selectNumber = c}>

1 2 3

 

当前求和为奇数再加 

异步加 

)

}

}

容器组件简写:react-redux底层做dispatch处理,传mapDispatchToProps对象

import CountUI from ‘…/…/components/Count’

import { createIncrementAction, createDecrementAction, createIncrementAsyncAction } from ‘…/…/redux/count_action’

import { connect } from ‘react-redux’

// const mapStateToProps=state=> ({count: state })

// function mapDispatchToProps(dispatch) {

// return {

// jia: number => dispatch(createIncrementAction(number)),

// jian: number => dispatch(createDecrementAction(number)),

// jiaAsync: (number, time) => dispatch(createIncrementAsyncAction(number, time)),

// }

// }

export default connect(

state => ({ count: state }),

{

jia: createIncrementAction,

jian: createDecrementAction,

jiaAsync: createIncrementAsyncAction

}

)(CountUI)

index.js简化

//不引入store

//store.subscribe注释

2.使用Provider的时候

import store from ‘./redux/store’

import {Provider的时候} from ‘react-redux’

ReactDOM.render(

,

document.getElementById(‘root’)

);

容器组件和UI组件组成一个文件,container

手写一个container练习连接redux


import React, { Component } from ‘react’

import { createIncrementAction } from ‘…/…/redux/count_action’

import { connect } from ‘react-redux’

class Count extends Component {

add = () => {

this.props.jia(1)

}

render() {

return (

点我加一

数值:{this.props.he}

)

}

}

export default connect(

state => ({ he: state })

,

{

jia: createIncrementAction

}

)(Count)

多个reduces的时候,使用combineReducers


//store.js:

import {createStore,applyMiddleware,combineReducers} from ‘redux’

import countReducer from ‘./reducers/count.js’

import personReducer from ‘./reducers/person.js’

//引入redux-thunk,可以dispatch函数

import thunk from ‘redux-thunk’

// 总的reducer

const allReducer = combineReducers({

he:countReducer,

rens:personReducer

})

export default createStore(allReducer,applyMiddleware(thunk))

//Person.jsx组件:

import React, { Component } from ‘react’

import {nanoid} from ‘nanoid’

import {connect} from ‘react-redux’

import {addCreateAction} from ‘…/…/redux/actions/person’

class Person extends Component {

addPerson = () => {

const name = this.nameNode.value;

const age = this.ageNode.value;

const personObj = {id:nanoid(),name,age}

this.props.add(personObj)

}

render() {

console.log(this.props)

return (


我是person组件

<input ref={c=>this.nameNode=c} type=“text” placeholder=“输入名字”/>

<input ref={c=>this.ageNode=c} type=“text” placeholder=“输入年龄”/>

添加

    {/*

    • {this.props.person.name}–年龄1
    • */}

      {

      this.props.person.map(ele=>{

      return (

    • {ele.name}--{ele.age}
    • )

      })

      }

    • {this.props.count}
    • )

      }

      }

      export default Person = connect(

      // 因为是总状态

      state=>({person:state.rens,

      count:state.he})

      ,

      {add:addCreateAction}

      )(Person)

      reducer.js中需要纯函数


      1. 同样的输入,必得到同样的输出(返回)

      2. 不得改写参数数据

      3. 不会产生副作用,如网络请求,输入输出设备

      4. 不能Data.now()或者Math.random()

      redux开发者工具


      自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

      深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

      因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
      img
      img
      img
      img
      img
      img

      既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

      由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

      如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
      img

      紧跟潮流

      大前端和全栈是以后前端的一个趋势,懂后端的前端,懂各端的前端更加具有竞争力,以后可以往这个方向靠拢。

      这边整理了一个对标“阿里 50W”年薪企业高级前端工程师成长路线,由于图片太大仅展示一小部分

      CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

      伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

      由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

      如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
      [外链图片转存中…(img-vW2pMRDY-1711985703685)]

      紧跟潮流

      大前端和全栈是以后前端的一个趋势,懂后端的前端,懂各端的前端更加具有竞争力,以后可以往这个方向靠拢。

      这边整理了一个对标“阿里 50W”年薪企业高级前端工程师成长路线,由于图片太大仅展示一小部分

      CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值