Mobx를 사용하면 저장소를 업데이트 한 후 (즉, 버튼을 클릭 한 후) 구성 요소가 다시 렌더링되지 않습니다. 초기로드 후에 아무것도 표시하지 않는 mobx devtools를 설치했으며 콘솔에 오류가 없습니다. 내가 뭘 잘못했는지 생각해?React Mobx - 저장소 변경 후 구성 요소가 업데이트되지 않습니다.
Store.js :
import { observable } from 'mobx';
class Store {
@observable me;
constructor() {
this.me = 'hello';
}
change_me(){
this.me = 'test 1234';
}
}
export default Store;
layout.js :
import React from "react";
import { observer } from 'mobx-react';
@observer
export default class Layout extends React.Component{
render(){
return(
<div>
<h1>{this.props.store.me}</h1>
<button onClick={this.on_change}>Change</button>
</div>
)
}
on_change =() => {
this.props.store.change_me();
}
}
하는 index.js :
import React from "react";
import ReactDOM from "react-dom";
import Layout from "./components/Layout";
import Store from "./Store";
import DevTools, { configureDevtool } from 'mobx-react-devtools';
// Any configurations are optional
configureDevtool({
// Turn on logging changes button programmatically:
logEnabled: true,
// Turn off displaying conponents' updates button programmatically:
updatesEnabled: false,
// Log only changes of type `reaction`
// (only affects top-level messages in console, not inside groups)
logFilter: change => change.type === 'reaction',
});
const app = document.getElementById('app');
const store = new Store();
ReactDOM.render(
<div>
<Layout store={store} />
<DevTools />
</div>
, app);
붙여 넣기 복사 귀하의 코드 및 그것은 내 환경에서 작동합니다. '구성 요소가 다시 렌더링되지 않는 저장소를 업데이트 한 후'버튼을 클릭하면 바로 의미합니까? – Max
정확히 맞습니까? 그럼 당신을 위해 작동합니까? 그 밖의 무엇입니까? – Chris
그냥 야생 귀하의 가져 오기 디렉토리가 올바른지 아닌지 확인하십시오 – Max