React router dom how to set activeStyle to NavLink by default to all current or active links





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I have a simple Navigation component that I created like this below:



const Navigation = () => {
return (
<div>
<NavLink exact to="/" activeStyle={{ color: 'red' }}>Home</NavLink>
<NavLink to="/about" activeStyle={{ color: 'red' }}>About</NavLink>
<NavLink to="/contact" activeStyle={{ color: 'red' }}>Contact</NavLink>
</div>
)
}


Everything works fine when I try to navigate to the URL and it renders the expected component and it also changes the style of the link but How can I refactor or minimize the code of activeStyle={{ color: 'red' }} that is being redundant cause if I have more links or routes this will be a complete mess.



Appreciate if someone could help.
Thanks in advance.










share|improve this question

























  • React router injects class='active' into the link element. It'll become something like <a href='/about' class="active">About</a>. You can use CSS to style links that has active class.

    – euvs
    Dec 2 '18 at 4:27













  • So you're saying that the class='active' comes out of the box already when the link becomes the current url and I would just take care of the css and that's it?

    – KnowledgeSeeker
    Dec 2 '18 at 23:00






  • 1





    Yes. You can see it in the Chrome inspector. It is also documented here github.com/ReactTraining/react-router/blob/master/packages/…

    – euvs
    Dec 3 '18 at 3:33


















0















I have a simple Navigation component that I created like this below:



const Navigation = () => {
return (
<div>
<NavLink exact to="/" activeStyle={{ color: 'red' }}>Home</NavLink>
<NavLink to="/about" activeStyle={{ color: 'red' }}>About</NavLink>
<NavLink to="/contact" activeStyle={{ color: 'red' }}>Contact</NavLink>
</div>
)
}


Everything works fine when I try to navigate to the URL and it renders the expected component and it also changes the style of the link but How can I refactor or minimize the code of activeStyle={{ color: 'red' }} that is being redundant cause if I have more links or routes this will be a complete mess.



Appreciate if someone could help.
Thanks in advance.










share|improve this question

























  • React router injects class='active' into the link element. It'll become something like <a href='/about' class="active">About</a>. You can use CSS to style links that has active class.

    – euvs
    Dec 2 '18 at 4:27













  • So you're saying that the class='active' comes out of the box already when the link becomes the current url and I would just take care of the css and that's it?

    – KnowledgeSeeker
    Dec 2 '18 at 23:00






  • 1





    Yes. You can see it in the Chrome inspector. It is also documented here github.com/ReactTraining/react-router/blob/master/packages/…

    – euvs
    Dec 3 '18 at 3:33














0












0








0








I have a simple Navigation component that I created like this below:



const Navigation = () => {
return (
<div>
<NavLink exact to="/" activeStyle={{ color: 'red' }}>Home</NavLink>
<NavLink to="/about" activeStyle={{ color: 'red' }}>About</NavLink>
<NavLink to="/contact" activeStyle={{ color: 'red' }}>Contact</NavLink>
</div>
)
}


Everything works fine when I try to navigate to the URL and it renders the expected component and it also changes the style of the link but How can I refactor or minimize the code of activeStyle={{ color: 'red' }} that is being redundant cause if I have more links or routes this will be a complete mess.



Appreciate if someone could help.
Thanks in advance.










share|improve this question
















I have a simple Navigation component that I created like this below:



const Navigation = () => {
return (
<div>
<NavLink exact to="/" activeStyle={{ color: 'red' }}>Home</NavLink>
<NavLink to="/about" activeStyle={{ color: 'red' }}>About</NavLink>
<NavLink to="/contact" activeStyle={{ color: 'red' }}>Contact</NavLink>
</div>
)
}


Everything works fine when I try to navigate to the URL and it renders the expected component and it also changes the style of the link but How can I refactor or minimize the code of activeStyle={{ color: 'red' }} that is being redundant cause if I have more links or routes this will be a complete mess.



Appreciate if someone could help.
Thanks in advance.







react-router react-router-dom






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 29 '18 at 5:13







KnowledgeSeeker

















asked Nov 29 '18 at 3:59









KnowledgeSeekerKnowledgeSeeker

308221




308221













  • React router injects class='active' into the link element. It'll become something like <a href='/about' class="active">About</a>. You can use CSS to style links that has active class.

    – euvs
    Dec 2 '18 at 4:27













  • So you're saying that the class='active' comes out of the box already when the link becomes the current url and I would just take care of the css and that's it?

    – KnowledgeSeeker
    Dec 2 '18 at 23:00






  • 1





    Yes. You can see it in the Chrome inspector. It is also documented here github.com/ReactTraining/react-router/blob/master/packages/…

    – euvs
    Dec 3 '18 at 3:33



















  • React router injects class='active' into the link element. It'll become something like <a href='/about' class="active">About</a>. You can use CSS to style links that has active class.

    – euvs
    Dec 2 '18 at 4:27













  • So you're saying that the class='active' comes out of the box already when the link becomes the current url and I would just take care of the css and that's it?

    – KnowledgeSeeker
    Dec 2 '18 at 23:00






  • 1





    Yes. You can see it in the Chrome inspector. It is also documented here github.com/ReactTraining/react-router/blob/master/packages/…

    – euvs
    Dec 3 '18 at 3:33

















React router injects class='active' into the link element. It'll become something like <a href='/about' class="active">About</a>. You can use CSS to style links that has active class.

– euvs
Dec 2 '18 at 4:27







React router injects class='active' into the link element. It'll become something like <a href='/about' class="active">About</a>. You can use CSS to style links that has active class.

– euvs
Dec 2 '18 at 4:27















So you're saying that the class='active' comes out of the box already when the link becomes the current url and I would just take care of the css and that's it?

– KnowledgeSeeker
Dec 2 '18 at 23:00





So you're saying that the class='active' comes out of the box already when the link becomes the current url and I would just take care of the css and that's it?

– KnowledgeSeeker
Dec 2 '18 at 23:00




1




1





Yes. You can see it in the Chrome inspector. It is also documented here github.com/ReactTraining/react-router/blob/master/packages/…

– euvs
Dec 3 '18 at 3:33





Yes. You can see it in the Chrome inspector. It is also documented here github.com/ReactTraining/react-router/blob/master/packages/…

– euvs
Dec 3 '18 at 3:33












0






active

oldest

votes












Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53531632%2freact-router-dom-how-to-set-activestyle-to-navlink-by-default-to-all-current-or%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53531632%2freact-router-dom-how-to-set-activestyle-to-navlink-by-default-to-all-current-or%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Contact image not getting when fetch all contact list from iPhone by CNContact

count number of partitions of a set with n elements into k subsets

A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks