Я использую реагирующие хуки и редукционные хуки.
У меня есть компонент, который проверяет избыточность на состояние.Если состояния там нет, он выполнит useDispatch
для извлечения необходимых книг.
Внутри саги есть множество функций, но я только что опубликовал последний бит, который сохраняет в магазине, как этопроблема, которую я пытаюсь уловить.
Сага успешно отправляет в хранилище (инструменты редукционного разработчика показывают новое состояние), но компонент не перерисовывается при публикации нового состояния.
Любые подсказки здесь?
myComponent.js
const topBooks = useSelector(state => state.BOOKS[TOP_BOOKS]);
const dispatch = useDispatch();
if (!topBooks) {
dispatch(fetchTopBooks(TOP_BOOKS));
}
return (
<Shelf>
<Books books={topBooks} />
</Shelf>
);
}
bookSaga.js
function* saveBooks() {
while (true) {
const { payload } = yield take(SAVE_BOOKS);
yield put({
type: SET_TOP_BOOKS,
payload
});
}
}
bookReducer.js
const initialState = {};
const actionMap = {
[SET_TOP_BOOKS](state, action) {
return {
TOP_BOOKS: action.payload
};
}
};