美文网首页
React 容器组件与UI组件

React 容器组件与UI组件

作者: Poiey | 来源:发表于2019-12-24 21:58 被阅读0次

react 官方推出的 react-redux 插件对构建 react 项目中的 redux 进行了优化。

React-redux

react-redux 将组件分为 容器组件 (container component)和 UI组件(presentational component)

容器组件

  • 只做结构展示和逻辑分布,不做UI渲染
  • 有内部状态

UI组件

  • 负责UI渲染
  • 没有状态

Provider

为了让容器内可以拿到仓库中的值,一般包裹在最外层

import React from 'react'
import ReactDOM from 'react-dom'
import Todu from './ToduAPP'
import store from './store'
import {Provider } from 'react-redux'
const App = ()=>{
    return(
        <div>
            <Todu />
        </div>
    )
}

ReactDOM.render(
    <Provider store={store}>
        <App />
    </Provider>,
    document.getElementById('root'))

connect

connect方法接受两个参数:mapStateToProps和mapDispatchToProps。它们定义了 UI 组件的业务逻辑。前者负责输入逻辑,即将state映射到 UI 组件的参数(props),后者负责输出逻辑,即将用户对 UI 组件的操作映射成 Action。

import {connect} from 'react-redux'
export default connect(
    // mapStateToProps
    // state -> store.getState() 返回的值
    // ownProps -> App 组件自己本来有的 props 数据
    (state)=>{
        return{
            inputvalue:state.inputvalue,
            todus:state.todus 
        }
    },
    // mapDispatchToProps
    // dispatch -> store.dispatch 的引用
    // ownProps -> App 组件自己本来有的 props 数据
    (dispatch)=>{
        return{
            handlevalue(value){
                dispatch({
                    type:'CHANGE_CON',
                    value
                })
            },
            handledelete(index){
                dispatch({
                    type:'DELETE_LI',
                    index
                })
            },
            handeladd(){
                dispatch({
                    type:'ADD_LIST'
                })
            }
        }
    }
)(Todu)

相关文章

  • 【学习笔记 】React ⑧ react-redux的使用

    UI组件、容器组件、无状态组件 在学习react-redux之前,需要了解UI组件、容器组件和无状态组件的知识。 ...

  • react-redux connect方法

    1.组件 react-redux把组件分为两类:UI组件和容器组件。 UI组件的特征: 只负责 UI 的呈现,不带...

  • React-Redux

    UI 组件和容器组件 React-Redux 将所有组件分为两大类:UI ( presentational com...

  • React中UI组件与容器组件的拆分

    本篇文章,我们接着对React组件进行优化。React中存在UI组件和容器组件的概念。顾名思义,UI组件主要控制组...

  • react-redux

    react-redux 主要: react-redux与redux并不完全一样 主要特征 ui组件 容器组件由 R...

  • React 容器组件与UI组件

    react 官方推出的 react-redux 插件对构建 react 项目中的 redux 进行了优化。 Rea...

  • 在mapDispatchToProps里操作数据this.set

      react-redux将所有组件分成两大类:UI组件和容器组件,组件内需要操作数据可以通过mapStateTo...

  • React进阶(6)-react-redux的使用

    前言 您将在本文当中学习到 react-redux是什么,解决什么问题 UI组件以及容器组件 react-redu...

  • 07.Redux进阶(上)

    UI组件和容器组件 在这个例子中,我们想要分离UI组件和容器组件 无状态组件 因为上面TodoListUI这个组件...

  • React(傻瓜组件与容器组件)

    Redux下的react类别 容器组件 负责与Store交互 容器组件自身不会触发action(他只是披在傻瓜组件...

网友评论

      本文标题:React 容器组件与UI组件

      本文链接:https://www.haomeiwen.com/subject/hmxqoctx.html