web-dev-qa-db-fra.com

Utilisez npm uuid dans les réactions

J'ai un emplacement dans lequel je dois utiliser le package npm uuid pour générer des identifiants uniques. Après avoir installé le paquet uuid, l’utilisation est la suivante:

const uuid = require('uuid/v1');
uuid();

Mais j'ai une erreur qui dit:

[eslint] Unexpected require(). (global-require)

Ma fonction est comme ci-dessous:

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);
    }

Quelle est la meilleure façon d’utiliser require dans ReactJs.

8
Michael Philips

Essaye ça:

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);

Voici un exemple de travail: https://codesandbox.io/s/0pr5vz48kv

19
Nguyen You

Vous n'avez pas toujours besoin du paquet. Exigez-le seulement une fois et utilisez-le où vous voulez.

const uuidv1 = require('uuid/v1');

if (condition) {
    some_id = uuidv1();
    some_function(some_id);

} else {
    other_id = uuidv1();
    other_function(other_id);
}

C'est aussi simple que ça.

1
Aravind

En réaction, utilisez import.

Dans le projet Nodejs, utilisez 'require'.

Si vous voulez utiliser import dans le projet nodejs normal, "babel" est nécessaire pour la configuration.

0
Ping Woo