簡體   English   中英

將數據提取存儲在本地 state redux reactjs

[英]Store data fetch in a local state redux reactjs

我嘗試將獲取日期存儲在本地 state 中,而不是在我的應用程序的全局存儲中。

(...)
.then(response => response.json())
.then (data => dispatch(fetchSuccess(data)))

接着:

export const FETCH_SUCCESS = 'FETCH_SUCCESS';
function fetchSuccess(create) {
    return {type : FETCH_SUCCESS, payload: create}
}

我在減速器中有我的數據:

const initialState = {
   eCreate: ''
};
case FETCH_SUCCESS:
      return {...state, eCreate: action.payload}

在我的組件中有我的 state 之后:

rEvt : state.redu.eCreate

我可以顯示:

console.log(rEvt)

但是我的 state eCreate 在我的所有應用程序中都可用。 我只是希望這個 state 在這個組件中可用。 我怎樣才能做到這一點? 感謝幫助。

我的組件

function Create(props) {

    const {cEvt, sEvt, gtf, rEvt} = props;

    console.log(rEvt)


    if (rEvt.name === sEvt)
    {
        return <Redirect to={"/d/" + rEvt.name} />
    }


    return (
        <div >
            <input type="text" value={sEvt} onChange={e => cEvt(e.target.value)} />
            <button onClick={() => gtf(sEvt)} >Go !</button>

        </div>
    );
}

還有我的組合容器:

const mapStateToProps = (state) => ({
    sEvt : state.redu.sCreate,
    rEvt : state.redu.eCreate
})

const mapDispatchToProps = dispatch => ({
    cEvt : e => dispatch(changeInput(e)),
    gtf : (name) => dispatch(fetchCreate(name))
})

我的 fetch 有一個方法 POST 來創建一個帶有輸入名稱的新條目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM