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

Ila*_*ang 21 javascript 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"
   ...
Run Code Online (Sandbox Code Playgroud)

我确实在npm dependecy中看到了它

# npm ls
??? react-native@0.8.0
|  ...
??? react-native-navbar@0.7.3
??? underscore@1.8.3
Run Code Online (Sandbox Code Playgroud)

它确实适用于其他一些反应组件

这就是我的要求

var _ = require('underscore');
Run Code Online (Sandbox Code Playgroud)

但它不起作用,_是不确定的

谢谢你的建议.

Hub*_*ron 36

如果您正在使用ES6模块(如在ReactNative中),正确的方法是使用import语句:

import _ from 'lodash'

let text = _.isUndefined(route.rightButtonText) ? 'Default value' : route.rightButtonText;
Run Code Online (Sandbox Code Playgroud)

  • 我认为我们应该只导入必要的方法,如下所示: ``` import { flatten, union } from 'lodash'; ```` (5认同)

eya*_*l83 15

我正在使用lodash(下划线更多东西),如下所示:

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

  2. 在组件中,您只需编写: var _ = require('lodash')

你就定了.

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


Asi*_*raz 7

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

  1. 安装下划线。

    npm install underscore
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在package.json中定义一个依赖项

    "dependencies": {
      "react": "^0.13.*",
      "underscore": "^1.8.3"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在函数中要使用的地方定义下划线。

    render() { 
      let _ = require('underscore')
      let buttonStyle = _.clone(button);
    }
    
    Run Code Online (Sandbox Code Playgroud)

  • 不要在此引用我,但我认为对render方法进行需求不是很明智。 (10认同)