嗨,我是 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>
);
}
}
我不知道为什么它不适用于第二个代码
那是因为您没有从renderData
实际渲染中返回任何内容。添加返回语句:
return this.state.data.map(x => {
return (
<View>
<Text> {x.data.title} </Text>
</View>
)
});
您实际上必须返回新的映射元素,以便在调用它时{this.renderData()}
获得新元素。否则你正在做,{undefined}
因为你目前没有返回值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句