Как требовать подчеркивания в реагировании

Журнал изменений реакционных упоминаний https://facebook.github.io/react/blog/2015/04/17/react-native-v0.4.html

Совместимость с модулями NPM: в NPM существует множество библиотек, которые не зависят от внутренних компонентов узла/браузера, которые могут быть действительно полезны в React Native, например superagent, underscore,...

Но это не работает для меня. Это как я устанавливаю, через package.json

# package.json

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

И я действительно вижу это в зависимости от npm

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

И это работает для некоторых других реагирующих компонентов

Это как я требую

var _ = require('underscore');

Но это не работает, _ не определено

Ответ 1

Если вы используете модуль ES6 (например, в ReactNative), правильный способ заключается в использовании оператора импорта:

import _ from 'lodash'

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

Ответ 2

Я использую lodash (подчеркивание с большим количеством материалов) следующим образом:

  • Добавьте это в package.json "lodash": "^3.10.0"

  • В компоненте вам нужно просто написать: var _ = require('lodash')

И вы настроены.

Вот больше информации о lodash, если вам нужно lodash

Ответ 3

Чтобы выполнить операцию в React, это то, что я сделал:

  • Установите подчеркивание.

    npm install underscore
    
  • Определите зависимость в package.json

    "dependencies": {
      "react": "^0.13.*",
      "underscore": "^1.8.3"
    }
    
  • Определите подчеркивание внутри функции, в которой вы хотите ее использовать.

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

Ответ 4

Я нашел проблему, проблема

Я НЕ использую его

Я просто требую его и пытаюсь проверить его на консоли.

Когда я использую его где-то, например _.map([1, 2, 3], function(num){ return num * 3; }).

Затем я тестирую его в консоли, на этот раз он требует библиотеки.

Я не уверен, что это npm требует или реагирует на собственное поведение?

Если вы не используете библиотеку, даже если она вам нужна, она не потребуется.