Это может быть действительно глупо, но я какое-то время держал голову вокруг этого.У меня есть проект React (с Redux).В mapStateToProps
значение состояния приходит как undefined
, если я пытаюсь получить доступ к состоянию напрямую как
const mapStateToProps = state => ({ data: state.data });
Вместо этого мне всегда приходится указывать имя моего редуктора (редуктор, который обрабатывает это конкретное состояние вэто) для доступа к значению состояния:
const mapStateToProps = state => ({ data: state.customReducer.data });
Вот мой код:
import { combinedReducer } from 'redux;
import customReducer from './customReducer';
const rootReducer = combineReducer({
customReducer
});
export default rootReducer;
customReducer.js: следующим образом
const initialState = {};
const customReducer = ( state = initialState, action ) => {
const { type, payload } = action;
switch (type) {
case 'SOME_ACTION':
return {
...state,
data: payload.data
}
break;
default:
return state;
}
}
export default customReducer;
store.js
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from '../reducers';
const configStore = () => {
return createStore (
rootReducer,
applyMiddleware(thunk)
);
}
const store = configStore();
export default store;
Кто-нибудь знает, что не так с реализацией?Или это способ доступа к различным значениям состояния из разных хранилищ?
Как я могу напрямую получить доступ к любой переменной состояния как
data: state.`state_value` , instead of , data : state.`reducerName`.`state_value` ?
Любая помощь по этому вопросу будет высоко ценится.