【问题标题】:How do I pass parameters to react?如何传递参数以做出反应?
【发布时间】:2020-05-22 09:54:59
【问题描述】:

我正在尝试将参数传递给我的反应项目。我用 create-react-app 设置它。

我是这样设置 package.json 的:

  "main": "index.js",
  "scripts": {
    "start": "webpack-dev-server --open --mode development",
    "build": "webpack --mode production"
  },

index.js:

console.log(process.argv)

我启动它并传入我的参数:

yarn start --serverPort=3531

但是 process.argv 只是一个空数组。如何将参数传递给 React 应用?

【问题讨论】:

  • @RobC 这给了我相同的结果,并在控制台中发出警告:warning From Yarn 1.0 onwards, scripts don't require "--" for options to be forwarded. In a future version, any explicit "--" will be forwarded as-is to the scripts.
  • 使用yarn start -- --serverPort=3531 就是我上面所说的

标签: reactjs npm create-react-app


【解决方案1】:

我们真正想要的是定义一个Environment Variable,我们的 React 实例可以从该环境中访问,这里我们的是NodeJS

我们在这里所做的:yarn start --serverPort=3531,是我们正在向yarn 命令传递一个参数serverPort,其值为3531

我们应该做的是声明一个环境变量,例如PORT,然后在process.env 的帮助下访问它,这将允许我们访问当前使用的环境。

请注意:“按照惯例,环境变量的名称应为大写。”

我们更改package.json 中的启动脚本以适应上述情况:

PORT=3000 && webpack-dev-server --open --mode development

然后您可以通过以下方式访问其值:process.env.PORT // output --> 3000

这是一个快速的解决方法,但是,我建议您 read more about setting up environment variables. 就像在 CRA 文档中一样。

【讨论】:

    猜你喜欢
    • 2017-10-11
    • 2020-02-03
    • 2015-05-13
    • 2021-12-28
    • 2017-06-02
    • 1970-01-01
    • 2021-07-05
    • 2019-05-11
    • 2021-07-30
    相关资源
    最近更新 更多