首页 > 解决方案 > React Native 与 JSON 模式形式

问题描述

我正在尝试找到一种方法来实现JSON schemaform into React Native,但我找不到一个好的解决方案。

我的想法是返回一个JSF(服务器端)并使用它form在应用程序中创建一个。例如,我可以随时更改表单,而无需更新应用程序。

我发现了一些有趣的项目:

有人有这方面的经验吗,如果有的话;你是如何实施的?

更新

这个想法是使用redux-form和抽象 JSF 中的一些值。

const Form = ({ ...props }) => {
const fields = fieldTypesFromJSF(schema);

  return (
    <Field name='name' {...fieldTypesFromJSF.name} />
  );
}

标签: reactjsreact-nativejsonschema

解决方案


在服务器端,您可以像这样定义 json formConfig:[{name:'username',type:'string'},{name:'family',type:'string'}] ,而在 RN 端 formik 是最佳选择,因为它具有 initialValues 道具可以基于 formConfig 进行初始化

 <Formik
    initialValues={{name,family}}
     onSubmit={values => {
     this.props.handleSubmit(values);
     }}
        >
          {props => (
            <View>
              {this.props.formConfig.map(item => {
                const { name } = item;
                if (item.type === 'number') {
                  return (
                    <>
                      <View style={styles.column}>
                        <Input
                          value={props.values[name]}
                          onChangeText={props.handleChange(name)}
                        />
                        <Text>{props.values[name]}</Text>
                      </View>
                    </>
                  );
                }
              })}

              <Button onPress={props.handleSubmit} title="submit" />
            </View>
          )}
        </Formik>

推荐阅读