我已经能够使用我的常规页面成功使用mobx,但是我想要创建这个复杂的页面,所以我决定将其嵌入到组件渲染中,并且工作得很好。
let provider: Dictionary = [AWSIdentityProviderFacebook : accessToken.authenticationToken]
let idpm = myIdentityProvider(provider)
let credentialProvider = AWSCognitoCredentialsProvider(
regionType: .EUWest2,
identityPoolId: POOL_IDENTITY_STRING,
identityProviderManager: idpm)
我正在使用create react app,所以这就是我使用观察者的方式
render = () => (
<InAppLayout fullWidth noPageTitle role={Constants.userRoles.hospital}>
<SplitView list={this._renderList()}
headerList={this._renderDoctorMenu()}
headerSlotContent={this._renderHeader()}
loading={HospitalStore.doctorsLoading}>
<Switch>
<Route exact path={`${this.state.pageBaseLink}`}
render={()=><div className="no-result">
<h1>No Doctor has been selected</h1>
</div>}
/>
<Route path={`${this.state.pageBaseLink}create_new`}
component={()=> <AddDoctor /> }
/>
<Route path={`${this.state.pageBaseLink}:id/schedule`}
component={()=> <DoctorSchedule />
}/>
<Route path={`${this.state.pageBaseLink}:id`}
component={({match})=><DoctorCalendar />}
/>
</Switch>
</SplitView>
</InAppLayout>
)
对于我以前的页面,它对我来说效果很好,但在这种特殊情况下,它不起作用,我不知道为什么。当我从另一个页面导航到该页面时它可以工作,但是当我通过链接访问页面或刷新页面时,观察者停止工作并且我的数据不同步。