как я понимаю, всегда есть статическое initialState в редукторе, теперь я хочу, чтобы async получил начальное состояние с удаленного сервера, я знаю, как их получить, и я мог бы это сделать в componentWillMount в соответствующем презентационном компоненте, но разве он не используется только для презентации? где я должен поставить ниже код извлечения и получить начальное состояние до того, как он соединится с хранилищем?реагировать на native get async начальное состояние в редукторе
getInitailState =() => {
return (
fetch(apis.GETINITAILURL)
.then((response)=>response.json())
.then((responseJson) => {
return responseJson;
})
.catch(e=>e)
)
}
здесь оригинальный полный код редуктора:
import * as TYPES from '../actions/types.js';
import ApiUtils from '../utils/ApiUtils.js';
const initailTaskState = [{
"taskid": 1,
"priority": 3,
"desc": "Bug fix",
"timestamp": 5
}]
const tasks = (state = initailTaskState , action) => {
switch(action.type){
case TYPES.ADD_TASK:
return [
...state,
action.task
]
case TYPES.DELETE_TASK:
return state.filter(task => task.taskid !== action.taskid);
default:
return state
}
}
export default tasks;
спасибо, предположим, мне нужно использовать промежуточное программное обеспечение thunk? – inoutwhy
Извините, я никогда не использовал thunk. Но я нашел отличную дискуссию по этому поводу [здесь] (http://stackoverflow.com/questions/34570758/why-do-we-need-middleware-for-async-flow-in-redux). Даже я перевариваю это прямо сейчас: p – Swapnil