我正在尝试使用React-Native-elements中的FormValidationMessage
。我看不到我在做什么错。我有错误:
Invariant Violation: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
我像文档一样导入:
import { Input, Button, FormValidationMessage } from 'react-native-elements';
使用它的功能:
showLoginError() {
console.log(this.props.error); //I can log the correct error here
if (this.props.error) {
return(
<FormValidationMessage>{this.props.error}</FormValidationMessage>
)
}
}
我直接在这样的渲染中调用此功能
<View style={{width: 250}}>
{this.showLoginError()}
</View>
我在互联网上看了一眼,但似乎没有一个明确的解决方案。
看起来他们在最新版本中将组件从代码库中取出。
在Div>在没有错误的情况下,您需要使函数返回null。
showLoginError() {
console.log(this.props.error); //I can log the correct error here
if (this.props.error) {
return(
<FormValidationMessage>{this.props.error}</FormValidationMessage>
)
} else {
return null;
}
}
在我的情况下(使用webpack)是:
之间的区别import {MyComponent} from '../components/xyz.js';
vs
import MyComponent from '../components/xyz.js';
第二个在第一个引起错误时起作用。