在reactjs中使用npm uuid

Mic*_*ips 11 uuid node.js npm reactjs eslint

我有一个地方需要使用npm uuid软件包生成唯一的ID。安装完uuid软件包后,用法如下:

const uuid = require('uuid/v1');
uuid();
Run Code Online (Sandbox Code Playgroud)

但是我有错误说:

[eslint] Unexpected require(). (global-require)
Run Code Online (Sandbox Code Playgroud)

我的功能如下:

someFunction = (i, event) => {
   if(someCondition) {
       //generate some unique id
       const uuid1 = require('uuid/v1');
       uuid1();
       //call some function and pass this id
       someFunction2(uuid1);
    } else{ 
      //generate some unique id
       const uuid2 = require('uuid/v1');
       uuid2();
       //call some function and pass this id
       someFunction2(uuid2);
    }
Run Code Online (Sandbox Code Playgroud)

在ReactJs中使用require的最佳方法是什么。

Ngu*_*You 26

尝试这个:

import React from "react";
import ReactDOM from "react-dom";
import uuid from "uuid";

function App() {
  return (
    <div className="App">
      <h1>{uuid.v4()}</h1>
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
Run Code Online (Sandbox Code Playgroud)

这是一个工作示例:https : //codesandbox.io/s/0pr5vz48kv

  • 另一个提示,当我使用react + typescript时,有效的导入语句是:`import * as uuid from 'uuid';` (3认同)

Muh*_*ooq 9

截至2020 年 9 月,我首先开始工作,将类型安装为

纱线添加@types/uuid

那么作为

import React from "react";
import ReactDOM from "react-dom";
import { v4 as uuidv4 } from 'uuid';

function App() {
  return (
    <div className="App">
      <h1>{uuidv4()}</h1>
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

Run Code Online (Sandbox Code Playgroud)

如果此代码将来不起作用,请参阅官方文档的这一部分。