【问题标题】:React createElement type should not be null/ Uncaught Invariant ViolationReact createElement 类型不应为空/未捕获的不变违规
【发布时间】:2017-02-11 10:57:27
【问题描述】:

我正在尝试在导航栏中呈现多选组件,但返回时出现以下错误:

warning.js:36Warning: React.createElement: type 不应该为 null, 未定义、布尔值或数字。它应该是一个字符串(对于 DOM 元素)或 ReactClass(用于复合组件)。检查渲染 EventsFilters的方法。

invariant.js:38 Uncaught Invariant Violation:元素类型无效: 期望一个字符串(对于内置组件)或一个类/函数(对于 复合组件)但得到:未定义。检查渲染方法 EventsFilters.

非常感谢您指出正确方向的指针。

过滤器代码:

import React from 'react';

//Event Types Filter
class EventsFilters extends React.Component {
  //Define react properties
  static propTypes: {
    setLocalStorage: 'jjj',
    selectedFilters: 'sds',
  }

render() {

var SelectList = React.SelectList;
var items = [
  {id: 0, name: 'Workflow Event'},
  {id: 1, name: 'Dev Event'},
];

//Event Workflow Select List
var EventsWorkflowFilters = (
<div>
  <SelectList
          textField='name'
          valueField='id'
          className='selectlist-unstyled list-inline filter-list'
          defaultValue={[0]}
          data={items}
          multiple="true" />
</div>
)



return(EventsWorkflowFilters)

}}

export default EventsFilters;

【问题讨论】:

  • React.SelectList 可能未定义

标签: reactjs jsx


【解决方案1】:

React 没有提供 SelectList 组件,所以你的 SelectList 变量是 undefined,你需要自己做或者检查 npm 如果有人已经有了。例如,您可以使用https://www.npmjs.com/package/react-select 并查看文档以了解如何使用它。

希望对你有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 2016-07-29
    • 2017-02-09
    • 1970-01-01
    相关资源
    最近更新 更多