React JSX文件给出错误“;无法读取属性'createElement'“未定义”;
React JSX file giving error "Cannot read property 'createElement' of undefined"
我有一个使用npm test
运行的文件testrongtuff.js
它看起来像这样:
import { assert } from 'assert';
import { MyProvider } from '../src/index';
import { React } from 'react';
const myProvider = (
<MyProvider>
</MyProvider>
);
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function() {
assert.equal(-1, [1,2,3].indexOf(4));
});
});
});
不幸的是,我得到错误
/Users/me/projects/myproj/test/test_stuff.js:11
var myProvider = _react.React.createElement(_index.MyProvider, null);
^
TypeError: Cannot read property 'createElement' of undefined
at Object.<anonymous> (/Users/me/projects/myproj/test/test_stuff.js:7:7)
这是什么意思?我正在成功地从"React"导入React,那么为什么React是未定义的呢?这是_react.react,不管这意味着什么。。。
要导入React do import React from 'react'
,当您正在导入的东西不是该模块或文件中的默认导出时,您会添加方括号。在react的情况下,它是默认导出。
这可能适用于您的其他导入,具体取决于您如何定义它们。
import React, { Component } from 'react'
这对我很有效。但我不知道为什么它修复了我对这个问题的看法。因此,如果你是一个偶然发现这个问题的人,并且你使用create-rect应用程序作为你的启动样板,这种导入react的方式就可以了。(截至2018年10月,lol(
适用于使用TypeScript处理ReactJS的用户。
import * as React from 'react';
由于疏忽,我出现了这个错误。实际上是
import React from 'react';
括号用于命名导出,例如:
import React, { useState, useEffect } from 'react';
从React导入React时出现此问题,我将其放在花括号内。
请这样做:
import React, {useState} from "react";
代替:
import {React, useState} from "react";
我在单元测试时尝试模拟组件时遇到了这个问题,但没有正确设置
我所做的导致错误的事情:
jest.mock("./SomeComponent", () => {
return <div>MockSomeComponent</div>
});
我需要做的:
jest.mock("./SomeComponent", () => {
return () => <div>MockSomeComponent</div>
});
尝试使用析构函数导入React对象可能会导致类似以下import {React} from 'react';
的问题。这可能是90%运行上述代码时出现错误的原因。
而是使用:import React from 'react';
然后,您可以通过以下方式访问React类的任何成员:反应
更改:从"React"导入{React}到导入React因为React是一个默认导出,任何默认导出都不需要大括号。
如果您需要从"react"导入多个类,则可以为它们设置除react之外的别名。类似
import React, * as react from 'react';
React
在该模块中默认导出,无需{}。
此错误可能是由于疏忽造成的。请添加
import React from 'react'
- 将对象作为参数传递后的未定义属性
- 检查链接对象形式中未定义属性的最佳实践是什么
- PhantomJS中的evalute内部未定义属性
- 访问数字类型的未定义属性
- 如何处理未定义属性的未定义属性 javascript 类型错误
- 返回未定义属性的脚本
- 类型错误:无法读取 ng-repeat 的未定义属性
- JavaScript-Disqus如何处理其“;disqus_config”;包含未定义属性的函数
- 是对HTMLElement#样式的未定义属性的赋值的返回值,保证与赋值相同
- 最好检查未定义属性或设置为空
- 如何解决这个未定义属性的node.js错误?
- 如何在JavaScript中挽救对象的未定义属性?
- AngularJS和PHP -注意:未定义属性:stdClass
- 主干模型删除未定义属性
- if else子句中未定义对象的未定义属性
- Javascript数组问题:无法读取未定义属性
- 当尝试使用未定义属性进行筛选时,Lodash将排除项
- 在Javascript数组的中途未定义属性
- Knockout arrayForEach未定义属性
- javascript中未定义属性的简写,初始化和赋值属性