【问题标题】:How to get access to the update immutability helper in ReactJS如何访问 ReactJS 中的更新不变性助手
【发布时间】:2016-12-08 20:33:18
【问题描述】:

我在this documentation page 上发现有一个我可以使用的更新不变性助手。唯一的问题是我对如何在我的 ASP.NET MVC 项目中访问它感到困惑。我只是不知道如何访问update() 的代码。

我已经安装了 ReactJS Nuget 包,并且我已经将以下捆绑配置包含到任何需要 ReactJS 库的页面中。

// ReactJS bundle
bundles.Add(new ScriptBundle("~/bundles/reactjs")
       .Include("~/Scripts/react-with-addons.js",
       "~/Scripts/react-dom.js"));

起初我收到错误update is not defined。然后对我来说很明显我需要按照文档中显示的方式定义它 - 看起来我必须使用 RequireJS。

JavaScript 代码

var update = require('react-addons-update');

我已经安装了 RequireJS,但现在出现以下错误:

require.js:168 未捕获错误:尚未为上下文加载模块名称“react-addons-update”:_。使用 require([])

遗憾的是,我不熟悉 RequireJS,但我已经浏览了文档。最初我假设 RequireJS 会加载文件from NPM,因为它是我搜索 Google 时在网络上唯一提到它的地方,但是我很快意识到我必须将脚本放在一个位置在我的文件系统中。

所以现在我要寻找要包含的正确文件,以便获得update() 的实例。我已经搜索了 NPM 链接到的 Github,但它会将我带到整个 ReactJS 存储库。

我对 JavaScript 很熟悉,但这个让我很困惑。

如何获取react-addons-update 的来源以包含在我的项目中?

【问题讨论】:

    标签: javascript asp.net-mvc reactjs requirejs


    【解决方案1】:

    看起来因为我包含了react-with-addons.js,所以我可以通过以下代码访问帮助程序:

    var update = React.addons.update;
    

    【讨论】:

      【解决方案2】:

      确保在未来版本的 React 中删除插件时可以使用您的代码会更简洁。

      创建一个包含以下内容的 react-addons-update.js 即可:

      define(["react"], function(r) {
          return r.addons.update;
      });
      

      或者,如果您想为多个插件执行此操作但不为每个插件创建单独的文件,那么您可以创建一个文件:react-addon-modules.js:

      define("react-addons-create-fragment", ["react"], function (r) {
          return r.addons.createFragment;
      });
      define("react-addons-transition-group", ["react"], function (r) {
          return r.addons.TransitionGroup;
      });
      define("react-addons-update", ["react"], function (r) {
          return r.addons.update;
      });
      

      然后在 requireJS 配置中确保你有:

      requirejs.config({
          paths: {
              "react-addons-create-fragment": "react-addon-modules",
              "react-addons-transition-group": "react-addon-modules",
              "react-addons-update": "react-addon-modules"
          }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-08
        • 2015-09-03
        • 2017-06-16
        • 1970-01-01
        • 2017-07-31
        • 1970-01-01
        • 1970-01-01
        • 2010-09-30
        相关资源
        最近更新 更多