#javascript #reactjs #redux #react-redux #eslint
#javascript #reactjs #redux #react-redux #eslint
Вопрос:
Я работаю с приложением React / Redux, которое по какой-то причине получает предупреждение ‘import / no-anonymous-default-export’ для редукторов приложений, даже если функции редуктора названы.
userRedirect.js
import {SET_USER_REDIRECT} from "../actions/actionTypes";
const initialState = {
active: false,
title: '',
messages: [],
btnText: ''
};
const userRedirect = (state = initialState, action) => {
switch (action.type) {
case SET_USER_REDIRECT:
let newState = {...state};
newState = {...newState, ...action.payload.redirectData};
return newState;
default:
return state;
}
};
export default userRedirect;
Этот редуктор импортируется в index.js который находится в папке reducers, где userRedirect.js также находится. Затем он использует метод combineReducers из redux для обработки редукторов.
import {combineReducers} from 'redux';
import userData from './userData';
import userRedirect from './userRedirect';
export default combineReducers({
userData,
userRedirect
});
Затем это импортируется в индекс папки хранилища, где это происходит:
import {createStore, applyMiddleware} from "redux";
import thunk from 'redux-thunk';
import { composeWithDevTools } from 'redux-devtools-extension';
import rootReducer from "./../reducers";
export default createStore(rootReducer, composeWithDevTools(applyMiddleware(thunk)));
Мне кажется, что есть ошибка с плагином или что-то в этом роде, но я пробовал установку npm, я пытался создать userRedirect reducer, используя объявление функции, а не выражение, но независимо от того, что я делаю, он продолжает показывать предупреждение, и я не могу понять, почему.
У вас, ребята, есть какие-нибудь идеи или предложения по этому поводу? Я просто что-то упускаю?
Очень ценю это!
Ответ №1:
[ экспорт по умолчанию combineReducers({userData, userRedirect });
экспорт хранилища файлов по умолчанию (rootReducer, composeWithDevTools(applyMiddleware(thunk)));
Эти два являются анонимным экспортом.
Измените его на
const rootReducer = combineReducers({userData, userRedirect });
экспортируйте rootReducer по умолчанию;
const store = createStore(rootReducer, composeWithDevTools (applyMiddleware (thunk)));
экспорт хранилища по умолчанию;
Простите меня, если выглядит не очень хорошо … отвечаю с мобильного. Не удается отформатировать с мобильного