Это немного странно для меня, потому что мой массив состояний пуст в функции одного и того же редуктора, а не в другом.
Итак, мой редуктор выглядит так -
export function booksHasErrored(state = false, action) {
//console.log(action.type);
switch (action.type) {
case 'BOOKS_HAS_ERRORED':
return action.hasErrored;
default:
return state;
}
}
export function booksIsLoading(state = false, action) {
switch (action.type) {
case 'BOOKS_IS_LOADING':
return action.isLoading;
default:
return state;
}
}
export function books(state = [], action) {
switch (action.type) {
case 'BOOKS_FETCH_DATA_SUCCESS':
return action.books;
default:
return state;
}
}
export function updateBook(state = [], action) {
console.log('updateBook');
console.log(state);
console.log(action);
switch (action.type) {
case 'BOOK_UPDATE':
return state;
default:
return state;
}
}
В этом редукторе есть функциональные книги со списком всех моих книг.Но функция updateBook всегда показывает пустой массив состояний.В моем веб-приложении сначала вызывается функция книг, чтобы получить список всех моих книг из вызова API, а затем вызывается функция обновления, и пользователь перемещается для обновления книги.Я ожидал, что моя функция updateBook получит объект состояния со всеми его элементами.
Вот как я комбинирую свои редукторы -
import {combineReducers} from 'redux';
import {routerReducer} from 'react-router-redux';
import { books, booksHasErrored, booksIsLoading,updateBook } from './books';
import { search, searchHasErrored, searchIsLoading } from './search';
import { authors, authorsHasErrored, authorsIsLoading } from './authors';
//import authors from './authors';
//console.log(books);
const rootReducer = combineReducers({ books,booksHasErrored,booksIsLoading,updateBook,authors,search, searchHasErrored, searchIsLoading, authors, authorsHasErrored, authorsIsLoading,routing:routerReducer});
export default rootReducer;
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация, и я добавлю ее сюда.