我有一個簡單的組件,它只是在螢屏中增加價值,但我收到一個錯誤:Uncaught TypeError: Cannot read properties of undefined (reading 'value') at increment (initialState.js:11:7).
應用程式.js:
return (
<IncrementButton store={Store} />
);
增量按鈕.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;
初始狀態.js:
export const initialState = {
rebate: {
id: 1,
name: 'Example',
value: 3000,
increment() {
this.value = this.value ;
},
},
};
自從我開始mobx-react-lite并且只有mobx-react-lite. 似乎很難找到僅關于mobx-react-lite. 十分感謝!!
uj5u.com熱心網友回復:
this在undefined你initialState的“方法”之內。
洗掉increment并initialState寫increaseNumber為
increaseNumber = () => {
this.states.rebate.value = 1;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464244.html
