在 React Native 中将凝视渲染为组件
Posted
技术标签:
【中文标题】在 React Native 中将凝视渲染为组件【英文标题】:Render a staring as a component in React Native 【发布时间】:2019-12-03 16:17:35 【问题描述】:我有一个端点,它返回一个 RN 组件作为响应。 (<Text> Blah Blah </Text>
)。
如何在应用中呈现响应的组件?
【问题讨论】:
【参考方案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 实现组件效率不高且计算速度非常慢。
【讨论】:
我无法实现组件,因为我需要动态以上是关于在 React Native 中将凝视渲染为组件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 react-native 函数组件中将获取数据设置为文本字段
React Native 和 Redux:为啥子组件不会在每次状态更新时重新渲染?
为啥组件在状态更改后不重新渲染。在 react-native 函数组件中