[英]How to require underscore in react-native
反应原生的更改日志提及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');
但它不起作用, _
是未定义的
如果您正在使用ES6模块(如在ReactNative中),正确的方法是使用import语句:
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 require还是react-native行为?
当您不使用库时,即使您需要它,也不需要它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.