React 学习笔记_27(在React中使用Redux - 3)

简介

上一篇中我们已经将Action与如何处理Action的Reducer建立好了,接下来将整个TodoList专案透过以下顺序建立:

输入新的Todo内容并发送到Reducer以建立新的todo物件。将目前state中的Todo选染到UI中。将Footer中的筛选使用者目前看到的可见Todos的位置。

AddTodo.js

import React from 'react';import { connect } from 'react-redux';import { addTodo } from '../Store/Action/Action';class AddTodo extends React.Component{    state = {        value:""    }    //====================================    handleChange = (e) => {        const _value = e.target.value;        this.setState({            value:_value        })    };    //====================================    handleSubmit = (e) => {        const inputValue = this.state.value;        //Step 1 : 取消预设行为        e.preventDefault()        //Step 2 : 判断Input是否为空        if(!this.state.value.trim()){            return        }        //Step 3 : 发送"ADD_TODO"到Reducer新增一个新的todo物件        this.props.dispatch(addTodo(inputValue));        //Step 4 : 清空input内容        this.setState({            value:""        });    };    //====================================    render()    {        return(            <div>                <form onSubmit={ this.handleSubmit }>                    <input                         value={this.state.value}                        onChange={ this.handleChange }                    />                    <button type="submit">Add Todo</button>                </form>            </div>        )    }}export default connect(    //利用mapStateToProps在state改变时就会触发的特性,观察Reducer是否有新增新的state    (state) => {console.log(state)})(AddTodo);

透过mapStateToProps可以确认,确实有新的State被创建出来,并且text也是我们输入的数值
http://img2.58codes.com/2024/20124767OeuXCNAAbU.png

参考资料 :
从Redux 的作者学习它


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章