Đây là tiếp theo với chủ đề tôi đăng herecombineReducers gây code để phá vỡ
Sau rất nhiều xử lý sự cố tôi thấy rằng mã này hoạt động mà không bất kỳ vấn đề
import React from 'react';
import { createStore, combineReducers, applyMiddleware } from 'redux';
import createLogger from 'redux-logger';
import thunkMiddleware from 'redux-thunk';
import { Provider } from 'react-redux';
import DataTableReducer from './reducers/DataTableReducer';
import DimensionPickerReducer from './reducers/DimensionPickerReducer';
const loggerMiddleware = createLogger();
const store = createStore(
DimensionPickerReducer,
applyMiddleware(
thunkMiddleware,
loggerMiddleware
)
);
export default store;
Nhưng nếu tôi thay thế giảm duy nhất của tôi với một kết hợp cuộc gọi giảm tốc như
import React from 'react';
import { createStore, combineReducers, applyMiddleware } from 'redux';
import createLogger from 'redux-logger';
import thunkMiddleware from 'redux-thunk';
import { Provider } from 'react-redux';
import DataTableReducer from './reducers/DataTableReducer';
import DimensionPickerReducer from './reducers/DimensionPickerReducer';
const loggerMiddleware = createLogger();
const store = createStore(
combineReducers({
DataTableReducer,
DimensionPickerReducer
}),
applyMiddleware(
thunkMiddleware,
loggerMiddleware
)
);
export default store;
Tôi ngay lập tức bắt đầu nhận được lỗi bởi kiểm soát DimensionPicker rằng đạo cụ bắt buộc không được chỉ định.
Vì vậy, phương pháp combinedReducer không hoạt động đối với tôi.
Tôi đã tải lên một dự án mẫu tại đây hiển thị sự cố.
https://github.com/abhitechdojo/MovieLensReact
Bạn sẽ phải chạy npm install
sau khi làm một git clone
và cấu trúc dữ liệu kết hợp ban đầu sẽ được khai báo ở đâu? trước đó tôi đã khai báo các cấu trúc dữ liệu riêng lẻ cho trạng thái ban đầu trong các bộ giảm tốc tương ứng. Bây giờ nếu tôi phải có một cấu trúc dữ liệu cho tất cả trạng thái ban đầu. những gì sẽ là một nơi tốt để tuyên bố nó? –
Cấu trúc dữ liệu vẫn nên được khai báo trong bộ giảm tốc tương ứng. Và nếu bạn muốn tải dữ liệu ban đầu đến cửa hàng của bạn, nơi tốt nhất là nơi bạn khai báo 'createStore()', chỉ cần chuyển nó làm đối số thứ hai. Thêm thông tin về điều này: https://github.com/reactjs/redux/blob/master/docs/api/createStore.md – xCrZx