当前位置: 首页 > 知识库问答 >
问题:

如何修复元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:对象

太叔繁
2023-03-14

我试图运行ReactRails应用程序,并试图运行一个非常简单的反应选择组件。但是,在同一个文件中,如果我只打印一个简单的h2元素,它可以工作,但是

Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.

我试图使用react-Select组件。我已经通过yarn add命令安装了它。

使用者jsx:

var React = require("react")
var Select = require("react-select")
var PropTypes = require("prop-types")

// also tried these ->
// import React from 'react';
// import createClass from 'create-react-class';
// import PropTypes from 'prop-types';
// import Select from 'react-select';


const options = [
  { value: 'chocolate', label: 'Chocolate' },
  { value: 'strawberry', label: 'Strawberry' },
  { value: 'vanilla', label: 'Vanilla' }
];

class User extends React.Component {
  state = {
    selectedOption: null,
  }
  handleChange = (selectedOption) => {
    this.setState({ selectedOption });
    console.log(`Option selected:`, selectedOption);
  }
  render() {
    const { selectedOption } = this.state;

    /*
    return (
             <h2>THIS WORKS!</h2>
    )
    */



    return (
             <Select
                 value={selectedOption}
                 onChange={this.handleChange}
                 options={options}
             />
    )

    // Doesn't work:
    // Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.

  }
}
module.exports = User

我对这个世界很陌生。我错过了什么?我做错了什么?

注意:这并没有解决我的问题:未捕获错误:不变冲突:元素类型无效:需要字符串(对于内置组件)或类/函数,但得到:object


共有1个答案

和飞翔
2023-03-14

我不确定模块是如何运行的。出口起着反应的作用。当我尝试使用ES6语法编写代码时,它似乎运行良好。

import React from 'react';
import Select from 'react-select';

然后使用ES6导出代替module.exports:

export default User;

Select组件似乎不是问题所在。

 类似资料: