все работает нормально, но есть только Для интеграции с избыточным количеством я удалил сегу, которую я использовал с приобретенной темой.Все работает правильно, но такая ошибка как я могу решить
TypeError: Невозможно использовать оператор «in» для поиска «toMap» в Symbol (Reaction.element) ошибка.
Ошибка типа: невозможно использовать оператор «in» для поиска «toMap»
(index.js: 141) неизменяемого.JS в коде
приложение макет меню
import Data from '../data';
class mockMenuApi {
static getMenu() {
return new Promise((resolve) => {
setTimeout(() => {
let menus = Data.menus;
let openViews = [];
let selectedMenuItem = null;
let selectedOpenedMenuItem = null;
if (Object.prototype.toString.call(menus) === '[object Array]'
&& menus.length > 0) {
selectedMenuItem = menus[0];
openViews = menus.slice(0, 1);
selectedOpenedMenuItem = openViews[0];
} else {
menus = [];
}
resolve({
menus,
openViews,
selectedMenuItem,
selectedOpenedMenuItem,
});
}, 500);
});
}
}
export default mockMenuApi;
глобальные действия JS
export function loadMenu() {
return async dispatch => {
var data = await mockMenuApi.getMenu();
if (data) {
dispatch({
type: ActionTypes.LOAD_MENU_SUCCESS,
data
});
}
};
}
глобальный редуктор
import { fromJS } from 'immutable';
import * as ActionTypes from './constants';
const initialState = fromJS({
user: {},
errors: [],
signOutErrorMessage: '',
authenticationErrorMessage: '',
registrationErrorMessage: '',
menus: [],
openViews: [],
selectedMenuIndex: 0,
selectedMenuItem: null,
selectedOpenedMenuIndex: 0,
selectedOpenedMenuItem: null,
userIsAuthenticated: false,
currentTheme: 'darkBlueTheme',
openSettingDrawer: false,
showTabs: true,
showOpenViews: false,
isBoxedLayout: false,
});
case ActionTypes.LOAD_MENU_SUCCESS: {
const data = action.data;
// console.log(data.menus);
return state.set('menus', data.menus)
.set('openViews', data.openViews)
.set('selectedMenuItem', data.selectedMenuItem)
.set('selectedOpenedMenuItem', data.selectedOpenedMenuItem);
}