Ответ 1
Если вы используете модуль ES6 (например, в ReactNative), правильный способ заключается в использовании оператора импорта:
import _ from 'lodash'
let text = _.isUndefined(route.rightButtonText) ? 'Default value' : route.rightButtonText;
Журнал изменений реакционных упоминаний 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');
Но это не работает, _
не определено
Если вы используете модуль ES6 (например, в ReactNative), правильный способ заключается в использовании оператора импорта:
import _ from 'lodash'
let text = _.isUndefined(route.rightButtonText) ? 'Default value' : route.rightButtonText;
Я использую lodash (подчеркивание с большим количеством материалов) следующим образом:
Добавьте это в package.json
"lodash": "^3.10.0"
В компоненте вам нужно просто написать:
var _ = require('lodash')
И вы настроены.
Вот больше информации о lodash, если вам нужно lodash
Чтобы выполнить операцию в React, это то, что я сделал:
Установите подчеркивание.
npm install underscore
Определите зависимость в package.json
"dependencies": {
"react": "^0.13.*",
"underscore": "^1.8.3"
}
Определите подчеркивание внутри функции, в которой вы хотите ее использовать.
render() {
let _ = require('underscore')
let buttonStyle = _.clone(button);
}
Я нашел проблему, проблема
Я НЕ использую его
Я просто требую его и пытаюсь проверить его на консоли.
Когда я использую его где-то, например _.map([1, 2, 3], function(num){ return num * 3; })
.
Затем я тестирую его в консоли, на этот раз он требует библиотеки.
Я не уверен, что это npm требует или реагирует на собственное поведение?
Если вы не используете библиотеку, даже если она вам нужна, она не потребуется.