摘要:我們知道,中涉及到異步操作,那就是為了我們在的過程中,是異步的解決辦法出現(xiàn)的,當(dāng)然,還有別的中間件喲,本處就不涉及了。參考主要為我們異步處理過程中傳遞了一個方便我們在異步過程中一個對象。
其實(shí)我什么都不懂,但是我什么都想知道,至少知道怎么使用也是棒棒的吧!
今天在一家環(huán)境很好的咖啡廳開始我的react學(xué)習(xí),這篇文章的目的就是為了讓和我一樣剛開始接觸react-thunk的前端小菜鳥看的哈,主要就是運(yùn)作一下react-thunk的使用。
我們知道,react中涉及到異步操作,那react-thunk就是為了我們在dispatch(action)的過程中,action是異步的解決辦法出現(xiàn)的,當(dāng)然,還有別的中間件喲,本處就不涉及了。
題目: 當(dāng)我們輸入input,點(diǎn)擊提交按鈕的時(shí)候,延遲一秒將我們的輸入顯示在UI層
解決:
基于react框架,我們先寫出UI:
index.js:
handleInputChange(e){ this.setState({ inputValue:e.target.value, }) } handleInputSubmit(e){ // const value = e.target.value; this.props.todo(this.state.inputValue); this.setState({ inputValue:"", }) } render(){ return (提交{this.props.todos.map((item,index)=>{return) } const mapDispatchToProps = (dispatch, ownProps) => { return { ** todo:(text)=>{dispatch(addTodo(text))}, ** } } const mapStateToProps = (state) => { return { todos:state.todos } } export default connect( mapStateToProps, mapDispatchToProps )(App){item}})}
store.js
import { createStore , applyMiddleware } from "redux" ; import reducer from "../reducer"; import ReduxThunk from "redux-thunk"; let store = createStore(reducer,applyMiddleware(ReduxThunk)); console.log("store.getState()=",store.getState()) export default store;
action.js
export default function addTodo(text) { return dispatch=>{ console.log("dispatch=",dispatch) setTimeout( ()=>{ dispatch({ type: ADD_TODO, text }) },2000) } }
reduce.js
export default function todos(state = [], action) { switch (action.type) { case "ADD_TODO": return state.concat([action.text]) default: return state } }
以上代碼是完整流程代碼,供大家參考,實(shí)現(xiàn)一個簡單的react-thunk過程。
參考action.js ,react-thunk 主要為我們異步處理過程中傳遞了一個dispatch,方便我們在異步過程中dispatch一個對象。
UI圖如下:
總結(jié):
demo代碼已經(jīng)完整獻(xiàn)上,道行深淺就看自己了。加油呀!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/104029.html
摘要:中定義來各個要做的事情。代碼定義把封裝成一個方法,這樣用的時(shí)候不用每次定義,避免出錯入口文件封裝成方法,方便下面的的訂閱調(diào)用每當(dāng)時(shí),訂閱的函數(shù)就會執(zhí)行現(xiàn)在有機(jī)關(guān)槍把。通過的來觸發(fā),中訂閱的事件就會執(zhí)行。觸發(fā),獲取的值。 環(huán)境準(zhǔn)備 為了方便,這里使用create-react-app搭建react環(huán)境 create-react-app mydemo 彈出配置 如果需要自定義react的配置...
摘要:使用實(shí)現(xiàn)接口的方式實(shí)現(xiàn)多線程程序創(chuàng)建接口的實(shí)現(xiàn)類對象創(chuàng)建類對象構(gòu)造方法中傳遞接口的實(shí)現(xiàn)類調(diào)用方法開啟新線程執(zhí)行方法簡化代碼使用匿名內(nèi)部類實(shí)現(xiàn)多線程程序新線程創(chuàng)建了簡化代碼新線程創(chuàng)建了創(chuàng)建接口的實(shí)現(xiàn)類重寫方法設(shè)置線程任務(wù)新線程創(chuàng)建了表達(dá)式的標(biāo) package com.itheima.demo03.Lambda;/* 使用實(shí)現(xiàn)Runnable接口的方式實(shí)現(xiàn)多線程程序 */public cl...
摘要:提交內(nèi)容可以是一個提議想法初步描述該階段是對所提交新特性的正式建議。在這個階段需具備以下條件指定一名成員作為審閱通過有實(shí)現(xiàn)的或者初步編寫標(biāo)準(zhǔn),包括問題描述解決方案示例語法語義關(guān)鍵的算法及抽象實(shí)現(xiàn)在的復(fù)雜度等該階段是會出現(xiàn)標(biāo)準(zhǔn)中的第一個版本。 ECMAScript 與 JavaScript ECMAScript 是一套腳本語言的規(guī)范,內(nèi)部編號 ECMA-262 該規(guī)范由 Ecma(Eu...
閱讀 1084·2021-09-29 09:35
閱讀 4665·2021-09-22 15:24
閱讀 1461·2021-07-25 21:37
閱讀 2192·2019-08-30 14:17
閱讀 976·2019-08-30 13:56
閱讀 2420·2019-08-29 17:07
閱讀 1280·2019-08-29 12:44
閱讀 2714·2019-08-26 18:26