Кажется, есть некоторые мелочи:
Идентичные имена классов
Это может привести к проблемам, так как ваш магазин и компонент реагирования называются StudentModal
заказ декоратора
, как @Joseph предложил поменять порядок вокруг вашего класса:
@inject("StudentModal")
@observer
export default class StudentModal
Государственное управление
store = new this.props.StudentModal()
При создании каждого StudentModal вы, похоже, создаете новое хранилище состояний. Обычно хранилище создается один раз (если вы не хотите, чтобы отдельные хранилища были модальными) внутри вашей точки входа, а затем используется позже:
import { render } from "react-dom";
import { Provider } from "mobx-react";
var stores = { StudentModal: new StudanModalStore() }
render(
<Provider {...stores}>
<StudentModal />
</Provider>,
rootEl,
);
@observer
@inject('StudentModal')
export default class StudentModal extends Component {
//used getter instead of setting once
// no longer use `new` but directly reference instance of the store.
get store (): StudentModalStore { return this.props.StudentModalas; }
}
код выше приведен в машинописи.