Error is :Attempted import error: 'uuid' does not contain a default export (imported as 'uuid')
This is the Code Sample
import uuid from "uuid";
//import * as uuid from "uuid";
import TodoInput from "./components/TodoInput";
import TodoList from "./components/TodoList";
export default class App extends Component {
state = {
items: [
{ id: 1, title: "wake up" },
{ id: 2, title: "make breakfast" }
],
id: uuid(),
item: "",
editItem: false
};
....
....
What Could be the Reason Behind This?
Because the uuid
package has not default
export, as the error clearly states.
( it used to exist, but has been removed )
Once installed, decide which type of UUID you need. RFC4122 provides for four versions, all of which are supported here.
( documentation at https://www.npmjs.com/package/uuid )
so you need to choose one of the following
import {v1 as uuid} from "uuid";
// import {v3 as uuid} from "uuid";
// import {v4 as uuid} from "uuid";
// import {v5 as uuid} from "uuid";
depending on the implementation you want.
If you are using an older version of the package you could use one of
import uuid from 'uuid/v1'
// import uuid from 'uuid/v3'
// import uuid from 'uuid/v4'
// import uuid from 'uuid/v5'
Once you do yarn add uuid
, the uuid folder in node_modules contains v1,v2,v3,v4 modules. import any of them according to your choice as uuid.
import {v4 as uuid} from 'uuid'
const id = uuid()
This solved my problem. versions "uuid": "^7.0.3" and "react": "^16.13.1",
This worked for me.
Firstly, run
npm install uuid
then
import { v4 as uuidv4 } from 'uuid';
To use it just call
uuidv4();
This worked for me.
Firstly, run
npm install uuid
then
import { v4 as uuidv4 } from 'uuid';
To use it just call uuidv4()
.
Earlier it was possible to access the default state, which is not available in new release.
Kindly go through the updates: https://www.npmjs.com/package/uuid .
import { v4 as uuidv4 } from 'uuid';
There are other possible access ways provided in package in npm documentation.
Default exports have been removed as stated on the npm page of UUID .
From nmpjs.com
Default Export Removed
uuid@3 was exporting the Version 4 UUID method as a default export:
const uuid = require('uuid'); // <== REMOVED!
This usage pattern was already discouraged in
uuid@3
and has been removed inuuid@7
.
in the command line install uuid:
npm i react-uuid
in your project:
import { v4 as uuid } from "uuid";
const id = uuid();
I think if you add to uuid when you import it v4 I think it will work
What I mean is like this
import uuid from 'uuid/v4';
Instead of doing: import uuid from 'uuid'
This worked for me(For creating random string): import uuid from 'uuid/v4'
I used this:
import v1 from 'uuid/v1.js'
const uuid = v1;
and it worked!!
In the command line, run
npm i react-uuid
then in your project, try
import uuid from 'react-uuid';
const id = uuid();
write
const uuid = require('uuid');
instead of
import uuid from 'uuid'
import uuid from 'uuid/dist/v4'
这会起作用
Sometimes and often times (due to some incomplete/interrupted dependency installations) all you need to do is delete the node_modules
folder and run npm install
once more.
Voila (in most cases).
Create Version 4 (Random) UUIDs
import { v4 as uuidv4 } from 'uuid';
id:uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d' https://www.npmjs.com/package/uuid
删除node_modules和package-lock.json并重新安装npm install和npm install react-scripts后,它对我有用。
As others have already stated, destructure the variable:
const { v4 as uuid } from 'uuid';
For use in your code:
const id = uuid();
If you are coming across this error in your Jest tests add the following to your moduleNameMapper:
moduleNameMapper: {
'^uuid$': 'uuid'
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.