反应原生提及的更改日志 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 dependecy
中看到了它# npm ls
├─┬ react-native@0.8.0
| ...
├── react-native-navbar@0.7.3
└── underscore@1.8.3
它确实适用于其他一些反应组件
这就是我的要求
var _ = require('underscore');
但它不起作用,_
未定义
感谢您的任何建议。
答案 0 :(得分:29)
如果您正在使用ES6模块(如在ReactNative中),正确的方法是使用import语句:
import _ from 'lodash'
let text = _.isUndefined(route.rightButtonText) ? 'Default value' : route.rightButtonText;
答案 1 :(得分:15)
我正在使用像这样的lodash(下划线更多的东西):
将其添加到package.json中
"lodash": "^3.10.0"
在组件中你需要写:
var _ = require('lodash')
你已经确定了。
如果您需要lodash
,请参阅以下有关lodash的更多信息答案 2 :(得分:5)
要在React中成功运行require,这就是我所做的:
安装下划线。
2 found
4 found
在package.json
中定义依赖项npm install underscore
在要使用它的函数中定义下划线。
"dependencies": {
"react": "^0.13.*",
"underscore": "^1.8.3"
}
答案 3 :(得分:1)
我发现了问题,问题是
我不使用它
我只需要它并尝试在控制台中测试它。
当我在某个地方使用它时,例如_.map([1, 2, 3], function(num){ return num * 3; })
任何地方。
然后我在控制台中测试它,这次确实需要库。
我不确定这是npm require还是react-native行为?
当您不使用库时,即使您需要它,也不需要它。