NextJS 带赋值的全局变量

Isa*_*aan 5 global-variables reactjs next.js

我是 NextJS 的新手,并试图弄清楚如何创建一个可以随时分配不同值的全局变量。有人可以举一个简单的例子吗?(我知道全局可能不是最好的方法,但我仍然想知道如何设置全局变量)。

比方说:

_app.js

NAME = "Ana" // GLOBAL VARIABLE
Run Code Online (Sandbox Code Playgroud)

page_A.js

console.log(NAME) // "Ana"
NAME = "Ben"
Run Code Online (Sandbox Code Playgroud)

page_B.js

console.log(NAME) // "Ben"
Run Code Online (Sandbox Code Playgroud)

小智 5

尝试使用环境变量

/next.config.js

module.exports = {
  env: {
    customKey: 'my-value',
  },
}
Run Code Online (Sandbox Code Playgroud)

/pages/page_A.js

function Page() {
  return <h1>The value of customKey is: {process.env.customKey}</h1>
}

export default Page
Run Code Online (Sandbox Code Playgroud)

但你不能更改其内容,除非直接在 next.config.js 中更改它


小智 0

Nextjs 没有特殊的方法来提供你想要的全局变量。您可以通过以下方式实现:

  1. 状态管理工具,例如 redux-react
  2. 使用上下文