Isaac Michaan
Isaac Michaan

Reputation: 403

NextJS Global Variable with Assignment

I'm new to NextJS, and trying to figure out, how to create a global variable that I could assign a different value anytime. Could someone give a simple example? (I know global might not be the best approach, but still I would like to know how to set up a global variable).

Let's say:

_app.js

NAME = "Ana" // GLOBAL VARIABLE

page_A.js

console.log(NAME) // "Ana"
NAME = "Ben"

page_B.js

console.log(NAME) // "Ben"

Upvotes: 10

Views: 51899

Answers (3)

modbender
modbender

Reputation: 419

It's not like it's impossible, I created a file called _customGlobals.jsx and put this as content

String.prototype.title = function () {
  const sliced = this.slice(1);
  return (
    this.charAt(0).toUpperCase() +
    (sliced.toUpperCase() === sliced ? sliced.toLowerCase() : sliced)
  );
};

and imported it in _app.jsx like this:

import "./_customGlobals";

So now I can call this function on any string anywhere in my project like this: "this is a title".title()

Upvotes: -1

Pausi
Pausi

Reputation: 157

try using Environment Variables

/next.config.js

module.exports = {
  env: {
    customKey: 'my-value',
  },
}

/pages/page_A.js

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

export default Page

but you can not change its contents, except by changing it directly in next.config.js

Upvotes: 4

Pandy
Pandy

Reputation: 184

Nextjs no special ways to provide global variables you want. You can achieve by:

  1. Stateful management tool, like redux-react
  2. Using Context

Upvotes: -1

Related Questions