react-native-elements FormInput无法导入

时间:2019-02-19 00:51:42

标签: reactjs react-native react-native-elements

似乎不允许我从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是问题所在,因为如果我注释掉这两行,那么它可以正常显示。

2 个答案:

答案 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