web-dev-qa-db-fra.com

Comment requérir du soulignement dans reag-native

Le journal des modifications des mentions react-native https://facebook.github.io/react/blog/2015/04/17/react-native-v0.4.html

Compatibilité des modules NPM: Il existe de nombreuses bibliothèques sur NPM qui ne dépendent pas des composants internes des noeuds/navigateurs qui seraient vraiment utiles dans React Native, telles que superagent, soulignement, ...

Mais ça ne marche pas pour moi ... C'est comment je l'installe, via package.json

# package.json

 "dependencies": {
   "react-native": "*",
   "underscore": "^1.8.3"
   ...

Et je le vois bien dans la dépendance npm

# npm ls
├─┬ [email protected]
|  ...
├── [email protected]
└── [email protected]

Et cela fonctionne pour d'autres composants de réaction

C'est comment j'ai besoin 

var _ = require('underscore');

Mais ça ne marche pas, _ n'est pas défini

Merci pour tout conseil.

17
Ilake Chang

Si vous utilisez le module ES6 (comme dans React Native), la méthode correcte consiste à utiliser l'instruction d'importation:

import _ from 'lodash'

let text = _.isUndefined(route.rightButtonText) ? 'Default value' : route.rightButtonText;
26
Hubert Perron

J'utilise lodash (souligné avec plus de choses) comme ceci:

  1. Ajoutez ceci au package.json "lodash": "^3.10.0"

  2. Dans le composant dont vous avez besoin, écrivez simplement: var _ = require('lodash')

Et vous êtes prêt.

Si vous avez besoin de plus d'informations sur lodash lodash

13
eyal83

Pour exécuter require avec succès dans React, voici ce que j'ai fait:

  1. Installez un trait de soulignement.

    npm install underscore
    
  2. Définir une dépendance dans package.json

    "dependencies": {
      "react": "^0.13.*",
      "underscore": "^1.8.3"
    }
    
  3. Définissez le trait de soulignement dans la fonction où vous souhaitez l’utiliser.

    render() { 
      let _ = require('underscore')
      let buttonStyle = _.clone(button);
    }
    
4
Asif Shiraz

J'ai trouvé le problème, le problème est 

Je ne l'utilise pas

Je le demande juste et essaie de le tester en console.

Quand je l'utilise quelque part, comme _.map([1, 2, 3], function(num){ return num * 3; }) n'importe où.

Ensuite, je le teste dans la console, il nécessite la bibliothèque cette fois.

Je ne suis pas sûr que ce soit le comportement requis ou réactif par NPM?

Lorsque vous n'utilisez pas une bibliothèque, même si vous en avez besoin, cela ne sera plus nécessaire.

1
Ilake Chang