Tengo un componente simple que solo agrega valor en la pantalla, pero recibo un error: Uncaught TypeError: Cannot read properties of undefined (reading 'value') at increment (initialState.js:11:7) .
Aplicación.js:
return ( <IncrementButton store={Store} /> );IncrementButton.js:
import {observer} from 'mobx-react-lite'; import React from 'react'; export const IncrementButton = observer(({store}) => { return ( <div> <button onClick={store.rebate.increment}>Increase</button> <h1>{store.rebate.value}</h1> </div> ); });rootStore.js:
import {makeAutoObservable} from 'mobx'; import {initialState} from './initialState'; class RootStore { states = initialState; constructor() { makeAutoObservable(this); } increaseNumber = () => { this.states.rebate.increment(); }; } const Store = new RootStore(); export default Store.states;estadoinicial.js:
export const initialState = { rebate: { id: 1, name: 'Example', value: 3000, increment() { this.value = this.value++; }, }, }; También tengo nuevos consejos ya que estoy comenzando con mobx-react-lite y solo mobx-react-lite . Parece realmente difícil encontrar documentación solo sobre mobx-react-lite . ¡¡Muchas gracias!!
this no está undefined dentro del "método" de su initialState .
Elimine increment de initialState y escriba número de increaseNumber como
increaseNumber = () => { this.states.rebate.value += 1; }