¿Por qué funciona esto?
import myData from './data.json'; const initialState = myData; const wevaSlice = createSlice({ name: 'weva', initialState, reducers: { // whatever } })y esto no?
import myData from './data.json'; const wevaSlice = createSlice({ name: 'weva', myData, reducers: { // whatever } })Si pruebo la segunda opción me sale el siguiente error:
Error no detectado: el reductor de segmentos para la clave "weva" se devolvió sin definir durante la inicialización. Si el estado pasado al reductor no está definido, debe devolver explícitamente el estado inicial. El estado inicial puede no ser indefinido. Si no desea establecer un valor para este reductor, puede usar nulo en lugar de indefinido.
¿Alguna idea de por qué es esto? ¿Tiene esto algo que ver con Immer lib? En caso afirmativo, ¿alguien puede explicar por qué la segunda opción no funciona?
Porque estos no son argumentos posicionales. initialState hay una abreviatura para
const wevaSlice = createSlice({ name: 'weva', initialState: initialState, reducers: { // whatever } })Así que tu segundo fragmento es similar a llamar
const wevaSlice = createSlice({ name: 'weva', myData: myData, reducers: { // whatever } })En cambio, puedes hacer
const wevaSlice = createSlice({ name: 'weva', initialState: myData, reducers: { // whatever } })