如何在 React Native 中使用函数渲染组件
Posted
技术标签:
【中文标题】如何在 React Native 中使用函数渲染组件【英文标题】:How to render components using function in React Native 【发布时间】:2018-12-24 13:59:00 【问题描述】:您好,我是 React native 的新手,并通过在渲染中调用函数来尝试渲染组件,但它似乎不起作用。
我的功能:
renderData = () =>
this.state.data.map(x =>
return (
<View>
<Text> x.data.title </Text>
</View>
)
);
;
如果我这样做就可以:
render()
return (
<SafeAreaView style=styles.container>
<Text style=styles.text>Enter Username</Text>
this.state.data.map(x =>
return <Text style=styles.bodyText> x.data.title </Text>;
)
</SafeAreaView>
);
但不是这个:
render()
return (
<SafeAreaView style=styles.container>
<Text style=styles.text>Enter Username</Text>
this.renderData()
</SafeAreaView>
);
我不知道为什么它不适用于第二个代码
【问题讨论】:
【参考方案1】:那是因为你没有从renderData
返回任何东西来实际渲染。添加return语句:
return this.state.data.map(x =>
return (
<View>
<Text> x.data.title </Text>
</View>
)
);
您实际上必须返回新的映射元素,以便在this.renderData()
中调用它时获得新元素。否则你正在做undefined
,因为你目前没有返回值。
【讨论】:
以上是关于如何在 React Native 中使用函数渲染组件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 redux 让根组件在 react-native 中重新渲染(开源项目)
为啥组件在状态更改后不重新渲染。在 react-native 函数组件中
如何在 React Native 中使用 switch 进行条件渲染?
如何使用渲染操作在 React-native-Gifted-chat 中发送图像/视频和语音消息?