Я новичок в синтаксисе redux и es6. Я делаю свое приложение с официальным учебником по сокращению, и с этим example.
Ниже приведен фрагмент JS. Моя задача - определить REQUEST_POST_BODY и RECEIVE_POST_BODY случаи в реестре сообщений. Главная трудность - найти и обновить правильный объект в магазине.
Я пытаюсь использовать код из примера:
return Object.assign({}, state, {
[action.subreddit]: posts(state[action.subreddit], action)
})
Но он использовал простой массив сообщений. Не нужно было искать правильный пост по id.
Здесь мой код:
const initialState = {
items: [{id:3, title: '1984', isFetching:false}, {id:6, title: 'Mouse', isFetching:false}]
}
// Reducer for posts store
export default function posts(state = initialState, action) {
switch (action.type) {
case REQUEST_POST_BODY:
// here I need to set post.isFetching => true
case RECEIVE_POST_BODY:
// here I need to set post.isFetching => false and post.body => action.body
default:
return state;
}
}
function requestPostBody(id) {
return {
type: REQUEST_POST_BODY,
id
};
}
function receivePostBody(id, body_from_server) {
return {
type: RECEIVE_POST_BODY,
id,
body: body_from_server
};
}
dispatch(requestPostBody(3));
dispatch(receivePostBody(3, {id:3, body: 'blablabla'}));