javascript - 失败:TypeError:__WEBPACK_IMPORTED_MODULE_2_react___default.a.createContext 即使在更新后也不是函数
问题描述
我的 React 应用程序有问题。在我做了一些更改并点击运行后,一切都出错了。我看了类似的问题,通常人们提供升级 NPM 和更新包。
我在终端中运行了这些命令:
npm install react@latest
和
npm install react-dom@latest
但没有奏效。我用谷歌搜索并尝试对包更改进行一些更改,但结果相同。我无法定位故障。
我的 package.json:
{
"name": "using-bootstrap-dropdown-tree-select",
"version": "0.0.20",
"description": "React Dropdown Tree Select component with Bootstrap styles. https://github.com/dowjones/react-dropdown-tree-select",
"keywords": [],
"homepage": "https://codesandbox.io/s/l765q6lmrq",
"main": "index.js",
"dependencies": {
"react": "^16.12.0",
"react-bootstrap": "^1.0.0-beta.16",
"react-dom": "^16.12.0",
"react-dropdown-tree-select": "2.0.2"
},
"devDependencies": {
"react-scripts": "^3.3.0"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
这是我的 index.js :
import React from "react";
import { render } from "react-dom";
import DropdownTreeSelect from "react-dropdown-tree-select";
import "./index.css";
import data from "./data.json";
import { Button } from 'react-bootstrap'
import Modal from 'react-bootstrap/Modal'
let selectedNodes_ = [];
const onChange = (currentNode, selectedNodes) => {
let list = [];
console.log("path::", currentNode.path);
console.log(currentNode);
selectedNodes.map(n => {
return (list.push(n.tagClassName))
})
selectedNodes_ = list;
console.log(selectedNodes);
console.log(selectedNodes_);
bootDiv();
};
const bootDiv = () => {
return (
<Modal
size="lg"
aria-labelledby="contained-modal-title-vcenter"
centered
>
<Modal.Header closeButton>
<Modal.Title id="contained-modal-title-vcenter">
Modal heading
</Modal.Title>
</Modal.Header>
<Modal.Body>
<h4>Centered Modal</h4>
<p>
Cras mattis consectetur purus sit amet fermentum. Cras justo odio,
dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac
consectetur ac, vestibulum at eros.
</p>
</Modal.Body>
<Modal.Footer>
<Button type="submit">Close</Button>
</Modal.Footer>
</Modal>
)
}
const assignObjectPaths = (obj, stack) => {
Object.keys(obj).forEach(k => {
const node = obj[k];
if (typeof node === "object" && node !== null) {
node.path = stack ? `${stack}.${k}` : k;
assignObjectPaths(node, node.path);
}
});
};
const openDialogue = (list) => {
console.log(list);
}
const getSelectedOperators = () => {
let list = [];
let listItemsContent = document.querySelectorAll(".tag");
listItemsContent.forEach(i => {
let iText = i.textContent;
iText = iText.slice(0, -1);
list.push(iText);
});
openDialogue(list);
}
const selectAll = () => {
console.log("All selected");
}
const selectNone = () => {
console.log("None selected");
}
const App = () => {
assignObjectPaths(data);
return (
<div>
<div className="tableHeader">
<div> <h4>OPERATOR</h4></div>
<div>
<b>Select </b>
<b><a onClick={selectAll}>all</a></b>/
<b><a onClick={selectNone}>none</a></b>
</div>
</div>
<div className="tableContent">
<DropdownTreeSelect
data={data}
onChange={onChange}
className="bootstrap-demo"
/>
<button
className="selectButton"
type="submit"
onClick={getSelectedOperators}
>Grab selected
</button>
</div>
</div>
);
};
render(<App />, document.getElementById("root"));
解决方案
推荐阅读
- .net - 使用 SignalR azure 服务在 2 个 Angular 应用程序之间进行通信
- microsoft-graph-api - 如何将 InternetMessageHeaders 添加到回复消息
- android - 即使授予权限,checkSelfPermission 也会返回 false
- python - 如图所示,如何格式化这个乘法表?
- java - 为什么我在 AWS Cloud9 中运行的 java spring 项目运行一段时间后关闭?
- javascript - Firebase 云功能无法正常工作?
- xml - 使用 XQuery 在一个文件中合并相似的 XML 结构
- c++ - 在 C++ 中带有顺序括号的 Emacs 缩进
- flutter - 颤振保持客户端活着不起作用
- php - Laravel 6.x 的次要版本是否考虑 LTS?