• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błędne przekazanie danych do redux'a

Object Storage Arubacloud
+2 głosów
253 wizyt
pytanie zadane 4 czerwca 2022 w JavaScript przez Sic Dyskutant (8,510 p.)

Witam, tworzę stronę internetową opartą na react, redux, router, react-bootstrap. Wykorzystuję `yarn`. Zainstalowałem potrzebne narzędzia i stworzyłem podstawową ramę projektu. Podczas tworzenia `store.js` pojawił mi się błąd częściowo dlatego, że wykorzystuję macOS, a jest tam przypisanie narzędzia windows Redux DevTool. Jednak nie wiem jak połączyć 2 funkcje compose w jedną z odniesieniem się do redux-thunk oraz Redux DevTool na mac OS.

`It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.`

Drugim błędem (warning) pojawił się po instalacji pakietów react-bootstrap `autoprefixer: Replace color-adjust to print-color-adjust. The color-adjust shorthand is currently deprecated.` Instalowałem pakiety autoprefixera jednak to nic nie pomogło.

store.js

import { composeWithDevTools } from 'redux-devtools-extension';
import { createStore, combineReducers, compose, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import initialState from './initialState';
import tablesReducer from './tablesRedux';

const subreducers = {
  tables: tablesReducer,
};

const reducer = combineReducers(subreducers);
const store = createStore(
  reducer,
  initialState,
  composeWithDevTools(),

  compose(
    applyMiddleware(thunk),
    window.__REDUX_DEVTOOLS_EXTENSION__
      ? window.__REDUX_DEVTOOLS_EXTENSION__()
      : (f) => f
  )
);

export default store;

tablesRedux.js

//selectors
export const getTables = ({ tables }) => tables;
// actions
//const createActionName = (actionName) => `app/tables/${actionName}`;

// action creators
const tablesReducer = (statePart = [], action) => {
  switch (action.type) {
    default:
      return statePart;
  }
};
export default tablesReducer;

initialState.js

const initialState = {
  tables: [
    {
      id: '1',
    },
  ],
};

export default initialState;

Czy ma ktoś jakiś pomysł?

1 odpowiedź

0 głosów
odpowiedź 4 czerwca 2022 przez rafal.budzis Szeryf (85,260 p.)

U siebie w appce mam tak :

 

const reducer = combineReducers(subreducers);

const composeEnhancers = composeWithDevTools({
    trace: true,
    traceLimit: 25,
});

const store = createStore(
    reducer,
    initialState,
    composeEnhancers(
        applyMiddleware(thunk),
    )),
);

 

komentarz 5 czerwca 2022 przez Sic Dyskutant (8,510 p.)

Niestety błąd pozostał usunąłem, jedną cześć z kodu 

import { composeWithDevTools } from 'redux-devtools-extension';
import { createStore, combineReducers, compose, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import initialState from './initialState';
import tablesReducer from './tablesRedux';

const subreducers = {
  tables: tablesReducer,
};

const reducer = combineReducers(subreducers);
const store = createStore(
  reducer,
  initialState,
  composeWithDevTools(),
  compose(applyMiddleware(thunk))
);

export default store;

Korzystam z macOS, nie mogę wykorzystać tej części kodu do korzystania z Redux DevTool

window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__() : f => f

 

Podobne pytania

0 głosów
1 odpowiedź 122 wizyt
pytanie zadane 6 maja 2020 w JavaScript przez poldeeek Mądrala (5,980 p.)
0 głosów
1 odpowiedź 270 wizyt
pytanie zadane 2 czerwca 2023 w JavaScript przez DzikieHarce Użytkownik (690 p.)
0 głosów
1 odpowiedź 70 wizyt
pytanie zadane 12 października 2020 w JavaScript przez poldeeek Mądrala (5,980 p.)

92,571 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...