为了账号安全,请及时绑定邮箱和手机立即绑定

React:从 uuid 开始不推荐使用深度要求,请要求顶级模块

React:从 uuid 开始不推荐使用深度要求,请要求顶级模块

慕码人8056858 2022-05-22 16:01:45
我的 React 应用程序成功显示按钮,但收到此错误。index.js:1const uuidv4 = require('uuid/v4');从 uuid@7.x 开始,不推荐使用需要 like 的深度。使用 Node.js CommonJS 模块时请要求顶级模块或捆绑浏览器时使用 ECMAScript 模块import React, { Component } from 'react';import { Container, ListGroup, ListGroupItem, Button } from 'reactstrap';import { CSSTransition, TransitionGroup } from 'react-transition-group';import uuid from 'uuid/v4';class ShoppingList extends Component {    state = {        items: [            { id: uuid(), name: 'Eggs' },            { id: uuid(), name: 'Milk' },            { id: uuid(), name: 'Steak' },            { id: uuid(), name: 'Water' },        ]    }    render() {        const { items } = this.state;        return (            <Container>                <Button                  color="dark"                 style={{marginBottom: '2rem'}}                 onClick={() => {                    const name = prompt('Enter Item');                    if (name) {                        this.setState(state => ({                           items: [...state.items, { id: uuid(), name }]                         }));                    }                }}                >Add Item</Button>            </Container>        );    }}export default ShoppingList;我尝试使用 'import { v4 as uuidv4 } from 'uuid';uuidv4();'但是我的按钮不会出现,我会得到错误:未捕获的 ReferenceError:未定义 uuid也许我应该得到这个错误?目前一切正常吗?
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

这在最近更新库后发生了变化,现在您可以根据库描述导入 uuid:


“从 uuid@7 开始,这个库现在提供 ECMAScript 模块构建,它允许像 Webpack 和 Rollup 这样的打包器进行“tree-shaking”以删除死代码。相反,使用导入”


import { v4 as uuid_v4 } from "uuid";

uuid_v4()

...或者对于 CommonJS:


const { v4: uuid_v4 } = require('uuid');

uuid_v4();


查看完整回答
反对 回复 2022-05-22
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

您可以改用react -uuid

npm i react-uuid

用法

import uuid from "react-uuid";


查看完整回答
反对 回复 2022-05-22
  • 2 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信