react-tyshemo-form 发布

昨晚想到了很晚,睡不着,然后就实现了它,今天就把它发布了。react-tyshemo-form基于tyshemo的model实现响应式,基于react-tyshemo实现react和model的绑定,最终体现为一个Field组件。

<Field model={model} name="field" component={FieldComponent} />

整个包的核心就在这个Field组件上面,它基于我早前在robust中提出的表单范式理论,对于表单视图而言,实际上只需要 value, required, disabled, readonly, hidden, errors 这几个信息,以及一个 onChange 回调函数。所以,这这个 Field 组件的实现上,完全遵照这个理论去做,对于用于展示字段 UI 的组件,只需要接收这些 prop 就够了。当然,为了必要的扩展,Field 也支持一个 extend 属性,用来确保可以传入其他 prop。

以上面这段示例代码为例,<Field /> 只是一个驱动器,主要作用是确保 model 上的 field 字段值发生变化时,可以重新渲染该字段。仅此而言,所以使用也超级简单。