繁体   English   中英

如何在react-native中要求下划线

[英]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(下划线更多东西),如下所示:

  1. 将它添加到package.json "lodash": "^3.10.0"

  2. 在组件中你只需要写: var _ = require('lodash')

你就定了。

如果你需要lodash,这里有关于lodash的更多信息

要在React中成功运行,这就是我所做的:

  1. 安装下划线。

     npm install underscore 
  2. 在package.json中定义依赖项

     "dependencies": { "react": "^0.13.*", "underscore": "^1.8.3" } 
  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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM