2

我正在尝试从一些 reactjs.net 组件访问一些 Web 配置设置。我在加载应用程序时需要这些,但是 reactjs.net 上的文档还有很多不足之处。有谁知道这可能是如何实现的?是的,我可以让它通过 xmlhttprequest 回调到服务器,但我宁愿能够通过应用程序将它们传递进去。有没有办法让它们出现在视图中并将它们作为参数传递?

提前致谢!

4

2 回答 2

1

我能够通过跳过这些箍来实现这一目标;对于此示例,我将获取 web.config “环境”应用程序键值:

  1. 在您的反应视图的 .cshtml 文件中,将其放在<head>

<script>
      var REACT_APP_RUNTIME_ENVIRONMENT = window.REACT_APP_RUNTIME_ENVIRONMENT = '@System.Web.Configuration.WebConfigurationManager.AppSettings["environment"]';
      if (REACT_APP_RUNTIME_ENVIRONMENT.indexOf('Configuration') != -1){
        REACT_APP_RUNTIME_ENVIRONMENT = window.REACT_APP_RUNTIME_ENVIRONMENT = 'dev';    // Backup value in case the above fails
      }
</script>

在上面的示例中,我添加了一个条件作为后备,因此您可以使用平面 index.html 页面而不是 ASP.NET MVC 项目并在那里修改运行时环境变量。

  1. 在您的 react 项目中,您现在可以访问window.REACT_APP_RUNTIME_ENVIRONMENT,它将从 web.config 中提取值“环境”:

<appSettings> <add key="environment" value="test" /> </appSettings>

需要注意的是,我只在 ASP.NET MVC 项目中对此进行了测试。

于 2018-01-25T20:23:58.803 回答
0

看起来你回答了自己的问题。

没有什么能阻止您在应用程序加载时发出请求、检索设置、将它们存储在客户端并让您的组件简单地使用它们。

这没有任何问题,它使一切变得简单明了。

于 2017-01-20T20:31:14.603 回答