似乎不允许我从react-native-elements导入FormInput。
我收到此错误:
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.
Check the render method of `LoginForm`.
我的代码如下:
import React, { Component } from 'react'
import { Text, View } from 'react-native'
import { FormInput, Button } from 'react-native-elements'
export default class LoginForm extends Component {
render() {
return (
<View>
<FormInput value="" placeholder="Enter email"></FormInput>
<FormInput valye="" placeholder="Enter password"></FormInput>
<Button title="Login" backgroundColor="red"></Button>
</View>
)
}
}
与官方doc相比,我看不出我在做什么。我知道FormInput是问题所在,因为如果我注释掉这两行,那么它可以正常显示。
答案 0 :(得分:1)
FormInput 仅存在于 0.19.1 版本的React-Native-Elements中。
请确保使用以下代码在终端中正确安装了版本 0.19.1 ,
npm -i react-native-elements@0.19.1
有关 0.19.1 元素的更多信息, 0.19.1 Input
但是,您也可以继续使用1.0.0版本的react-native-elements。 对于 1.0.0 ,输入组件略有不同。 这是关于React-Native中输入元素的链接, 1.0.0 Input
答案 1 :(得分:0)
FormInput
已从v1.0.0-beta版本更改为Input
import React, { Component } from 'react'
import { Text, View } from 'react-native'
import { Input, Button } from 'react-native-elements'
export default class LoginForm extends Component {
render() {
return (
<View>
<Input value="" placeholder="Enter email"></Input>
<Input valye="" placeholder="Enter password"></Input>
<Button title="Login" backgroundColor="red"></Button>
</View>
)
}
}
这应该有效。
更多信息here