im试图在react native中创建一个组件。
该组件的示例为:
import React from 'react'
import PropTypes from 'prop-types'
import { View, Text, Image } from 'react-native'
const MyComponent = ({Text, Image}) => {
return (
<Text>{Text}</Text>
<Image source={require('../../assets/images/HeaderLogo.png')} />
)
}
MyComponent.propTypes = {
Text: PropTypes.string,
Image: PropTypes.string,
}
export default MyComponent
如果我删除了该组件,则一切正常,但当我尝试使用图像组件时,它在以下图像上返回错误:
(它适用于图标,但不适用于图像。)
该组件的导入如下:
import MyComponent from './MyComponent'
如果我将导入更改为:
import { MyComponent } from './MyComponent'
我遇到另一个错误(如下):
答案 0 :(得分:0)
您不需要传递Text
和Image
作为道具,因为您可以导入它们。大写名称用于组件。
React也希望渲染一个顶级元素,而您要传递两个。要进行此工作,您需要将它们包装在View
中:
const MyComponent = ({text}) => {
return (
<View>
<Text>{text}</Text>
<Image source={{uri: require('../../assets/images/HeaderLogo.png')}} />
</View>
)
}
答案 1 :(得分:0)
尝试像这样导入和使用图片
import myIMage from '../../sourcefile.png'
const Component = (props) => {
return (
<View>
<View />
<Image source={myImage} style={{height: 100, width: 100}} /> //style is important here
</View>
export default Component;
答案 2 :(得分:0)
您正在将文本和图像作为参数(属性)传递给函数。
简而言之,请删除对您传入的 text 和 image 参数的所有大写引用。您的代码应如下所示:
import React from 'react'
import PropTypes from 'prop-types'
import { View, Text, Image } from 'react-native'
const MyComponent = (text) => {
return (
<Text>{text}</Text>
<Image source={require('../../assets/images/HeaderLogo.png')} />
)
}
MyComponent.propTypes = {
text: PropTypes.string,
}
export default MyComponent