我觉得我得到了大部分的mobx,但我想澄清一些事情.我有一个带有一些observable的商店,其核心是一个对象数组(typescript):
class ClientStore {
constructor() {
this.loadClients();
}
@observable private _clients: IClient[] = [];
@computed get clients() {
return this._clients;
}
@observable isFetching: boolean = false;
@observable sortField: 'title' | 'modified' = 'modified';
@observable sortDescending: boolean = true;
getClientByUrlName(urlName: string): IClient {
return this._clients.find(c => c.urlName === urlName);
}
etc...
Run Code Online (Sandbox Code Playgroud)
我的问题是最后一个函数 - getClientByUrlName.由于这是从一个可观察的发现,所以使用该函数的任何@observer反应组件都能正确重新渲染.对于类似的东西,这个惯用的mobx?感觉应该是计算值.我应该在要使用它的组件中是否为计算值?
//import singletone ClientStore
class ClientDetailsView extends React.Component<{params:{urlName:string}}, void> {
@computed get client() {
return ClientSotre.clients.find(c => c.urlName === this.props.params.urlName);
}
...rest of react component
Run Code Online (Sandbox Code Playgroud)
我正在寻找最好的做法和陷阱.任何帮助表示赞赏.
*编辑固定代码示例错误
我不知道改变了什么,但要么使用Ctrl +.或者右键单击以显示VS2015 RC(14.0.22823.1)中的快速操作,我没有添加权限使用语句,以便为我提供自动添加它的选项,以及创建新选项的选项上课和其他一些事情.
过去几天它不再给我选择为我添加using语句(我一直使用这个快捷方式).它仍然具有所有其他选项.
其他人遇到这个?我最近安装了Web Essentials 2015.0 RC和Code Maid(代码女佣导致了问题,所以我删除了它).其中一个会影响它吗?
keyboard-shortcuts web-essentials visual-studio-2015 codemaid