reactjs - 在 React Component 状态下实现 Mobx ViewModel
问题描述
我想在 React 的功能组件中使用 Mobx ViewModel(来自 mobx-utils)。好吧,在这种情况下,我的模型是一个状态。(例如 - 下一行的公司):
const [company, setCompany] = useState(store.companyObservable)
据此,视图模型的初始值将如下所示:
const vm = createViewModel(company);
它在模板中的使用将如下所示:
<Input
value={vm.name}
onChange={e => vm.name = e.target.value }
/>
但是通过这种方式,即使初始值会进入输入。输入现在不可编辑。这是可以理解的,因为他不在状态。
那么,我怎样才能以正确的方式实现这个东西呢?
解决方案
通过像这样使用“计算”解决:
//store
@observable
companyDetails: ICompanyDetails = { id: 0 }
@computed
get companyDetailsViewModel() {
return createViewModel(this.companyDetails)
}
//component
const vm = companyStore.companyDetailsViewModel
<Input
value={vm.name}
onChange={e => vm.name = e.target.value}
/>
推荐阅读
- python - KeyError reverse HashMap - Python 简单协作 KNN 模型
- android - 在 android 中使用 httpclient 升级到 TLSV1.0 或 1.1 到 TLSV1.2
- python - 如何将 xlsx 文件转换为给定文件夹的简单 xls
- sql - 重命名sql结果列的通用方法
- c - 如何在C中读取通过stdin传递的文件
- scala - Spark:从spark sql查询中提取表列表
- android - 下载文件 arm64-v8a Skobbler
- ios - React Native中的Dimension.get('window').width根据SplashScreen方向而不是当前方向?
- javascript - 使用节点 sqlite3 异步获取所有数据
- python - Django i18n 提供不完整的翻译