我刚刚开始使用react.js并且遇到了一个奇怪的问题,这些问题会导致文件的反应。
目标是使用编辑文件的属性制作降价文件编辑器。
我已经创建了一个App并在其中放入了一些组件,例如IntegerField。这是代码:
https://github.com/may-cat/markdown-editor/blob/master/slate/examples/index.js
这里有数据,它们会对尝试进行处理:
https://github.com/may-cat/markdown-editor/blob/master/slate/examples/PRJ-RQ12.json
在更改整数值时,它会调用IntegerField的回调
https://github.com/may-cat/markdown-editor/blob/master/slate/examples/index.js#L318
(实际上,不是IntegerField' s,但是它的父级),方法onFieldChange()在这里是:
https://github.com/may-cat/markdown-editor/blob/master/slate/examples/index.js#L110
onTeieldChange()在他自己的上只为子组件,IntegerField创建了setState。应用程序应该对此更改一无所知(根据React文档)。
在App中提交表单
https://github.com/may-cat/markdown-editor/blob/master/slate/examples/index.js#L378
我检查应用程序状态中的值。这里奇怪的事情开始了。 对于IntegerField,使用" multiple"属性,值会提升并显示在应用程序的状态中。例如,对于" businessvalue"领域。 对于IntegerField没有"多个"属性,值不会提升并且不会出现在应用程序的状态中。对于"数字"在我的例子中的字段。
为什么会这样?怎么了?