alibaba / formily

📱🚀 🧩 Cross Device & High Performance Normal Form/Dynamic(JSON Schema) Form/Form Builder -- Support React/React Native/Vue 2/Vue 3
https://formilyjs.org/
MIT License
11.43k stars 1.49k forks source link

SchemaField receive invalid type will crash by React #654

Closed muxfe closed 4 years ago

muxfe commented 4 years ago

https://github.com/alibaba/formily/blob/48c47c2946f49bd71559173ad9ceed69546457f8/packages/react-schema-renderer/src/components/SchemaField.tsx#L180

之前 uform 0.x 的时候如果有未注册的 type 会静默返回 null,不展示组件,现在 1.x 版本会报错。

SchemaField 渲染组件逻辑缺少当 type 不存在于 fields 和 virtualFields 的分支,应该返回 null 或者抛出明确的错误。

虽然不处理返回 undefined, React 本身就会报错,但是生产环境中如果给了一个不存在的 type 就 crash 也不太合理吧。

janryWang commented 4 years ago

的确有问题,欢迎PR贡献哈

janryWang commented 4 years ago

fixed