【问题标题】:Render a staring as a component in React Native在 React Native 中将凝视渲染为组件
【发布时间】:2019-12-03 16:17:35
【问题描述】:

我有一个端点,它返回一个 RN 组件作为响应。 (<Text> Blah Blah </Text>)。 如何在应用中呈现响应的组件?

【问题讨论】:

    标签: react-native components


    【解决方案1】:

    您可以创建一个将字符串转换为组件的函数。 This link 解释了如何。例如:

     var str = <Text>test</Text>;
    
      render() {
        return (
          <View style={styles.container}>
            {str}
          </View>
        );
      }
    

    【讨论】:

      【解决方案2】:

      您可以使用 js eval 函数将字符串转换为可执行的 javascript 代码。 例如

      let x="console.log('test')";
      eval(x); //test
      

      由于您希望它与 JSX 一起使用,因此您可以在执行之前使用 Babel 之类的东西转译代码。

      例如,使用浏览器版本的 Babel 时:

      var jsCode = babel.transform(jsxCode);
      eval(jsCode.code);
      

      还有一个 run 方法可以用来简单地执行代码:

      babel.run(code);
      

      transform 和 run 都采用可选的选项哈希;查看documentation了解更多详情。

      顺便说一句,这不是一个好习惯,因为实时转译代码是不安全的。 Source

      【讨论】:

      • 谢谢。以及如何在我的组件中嵌入babel.run(code)
      【解决方案3】:

      我强烈建议您在实现时实现组件,并根据端点的结果切换它们。

      根据经验,使用 eval 实现组件效率不高且计算速度非常慢。

      【讨论】:

      • 我无法实现组件,因为我需要动态
      猜你喜欢
      • 2017-01-31
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      • 1970-01-01
      • 2020-09-13
      相关资源
      最近更新 更多