에서 가게를받을 수 없다는 것은 내 경로에 대한 코드입니다 :내가 여기에 반응 라우터 (3)를 사용하고있어 mobx 제공
: 여기export default (
<Route>
<Route path="login" component={LoginPage}/>
<Route path="/" component={App}>
<IndexRoute component={Dashboard}/>
<Route path="dashboard" component={Dashboard}/>
<Route path="form" component={FormPage}/>
<Route path="table" component={TablePage}/>
<Route path="*" component={NotFoundPage}/>
</Route>
</Route>
);
내 주요 내가 mobx-react
에서 Provider
을 포함 Index.js
입니다
import React from 'react';
import { render } from 'react-dom';
import { Router, browserHistory } from 'react-router';
import routes from './routes';
import { Provider } from 'mobx-react';
import injectTapEventPlugin from 'react-tap-event-plugin';
require('./favicon.ico');
import './styles.scss';
import 'font-awesome/css/font-awesome.css';
import 'flexboxgrid/css/flexboxgrid.css';
import store from './Store.js';
injectTapEventPlugin();
render(
<Provider store={store}><Router routes={routes} history={browserHistory} /></Provider>, document.getElementById('app')
);
store.js
은 다음과 같습니다
import { autorun, observable } from 'mobx';
class appStore {
@observable userSession = {
isUserLogged: false,
id: 0,
name: '',
token: '',
memberId: 0,
membershipId: 1000
}
}
let store = window.store = new appStore;
export default store;
//test
autorun(()=> {
console.log(JSON.stringify(store.userSession));
})
이미 반응 애플 리케이션을위한 mobx를 설치했습니다. autorun
은 내 가게를 기록 할 수 있습니다. 그런 다음 라우터 주위에 Provider
을 추가하고 내 App.js
에 소품을 기록하려고합니다. 내 가게를 전혀받지 못합니다.
App
구성 요소에 @observer
을 추가했으며 내 저장소가 통과되었는지 확인하기 위해 내 소품을 기록하려고 시도했지만 얻지 못했습니다.
누구나 아는 이유는 무엇입니까? 미리 감사드립니다.
'redux-react'는' '과 같은 방식을 사용합니다. 전역 변수를 피하는 것에 대해 감사드립니다. 저장소에 액세스하는 또 다른 솔루션이므로 답변을 수락하고 싶습니다. 비록 내가 여전히 ''을 통해 상점에 액세스 할 수없는 이유를 알고 싶습니다. 나 좀 도와 줄 수있어? –
'@ inject' 데코레이터를 사용하여 필요한 컴포넌트의 소품에서 사용할 수있게해야합니다. 여러분이'@ inject'와 그 밑에 공급자를 정의하고 있기 때문에, 그것은 App 구성 요소에서는 불가능합니다. 동일한 구성 요소에 공급자와 장식자를 둘 다 지정할 수는 없습니다. 공급자는 App의 하위 구성 요소에서만 작동합니다. 모듈을 통해 상점을 앱으로 가져 오는 경우이 방법을 사용할 수 있습니다. – Samuel