Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

215
Views
Using redux, why can't I import a json file directly to createSlice?

Why does this work:

import myData from './data.json';

const initialState = myData;

const wevaSlice = createSlice({
    name: 'weva',
    initialState,
    reducers: {
         // whatever
    }
})

and this doesn't ?

import myData from './data.json';

const wevaSlice = createSlice({
    name: 'weva',
    myData,
    reducers: {
         // whatever
    }
})

If I try the 2nd option I got the following error:

Uncaught Error: The slice reducer for key "weva" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.

Any ideas why is this? Does this has anything to do with Immer lib? If yes can anyone explain why the 2nd option doesn't work?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Because these are not positional arguments. initialState there is a shorthand for

const wevaSlice = createSlice({
    name: 'weva',
    initialState: initialState,
    reducers: {
         // whatever
    }
})

So your second snippet is akin to calling

const wevaSlice = createSlice({
    name: 'weva',
    myData: myData,
    reducers: {
         // whatever
    }
})

Instead, you can do

const wevaSlice = createSlice({
    name: 'weva',
    initialState: myData,
    reducers: {
         // whatever
    }
})
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!