【发布时间】:2020-03-09 20:19:03
【问题描述】:
我试图通过调用包含隔离 JSX 元素的类方法来减少 render()method 的长度以提高可读性。
问题是这种技术不适用于多个 JSX 元素。
我将每个元素嵌入到 <View> 中,但这并不能防止此错误
Invariant Violation : Text strings must be rendered within a <Text> component.
import React, { Component } from 'react';
import { Text, View,StyleSheet } from 'react-native';
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: "center",
alignItems: "center"
}})
export default class HelloWorldApp extends Component {
header() {
return (
<Text>header</Text>
);
}
firstElement() {
return (
<Text>first element</Text>
);
}
secondElement() {
return (
<Text>second element</Text>
);
}
footer(){
return (
<Text>footer</Text>
);
}
render() {
let header = this.header();
let firstElement = this.firstElement();
let secondElement= this.secondElement();
let footer = this.footer();
return (
<View style={styles.container}>
header,
firstElement,
secondElement,
footer,
</View>
);
}
}
我知道render() 中的语法不正确,它是为了向您展示我想要代码的样子。
【问题讨论】:
标签: javascript reactjs react-native coding-style