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;
}
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
add a comment |
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
React router injectsclass='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 hasactive
class.
– euvs
Dec 2 '18 at 4:27
So you're saying that theclass='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
add a comment |
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
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
react-router react-router-dom
edited Nov 29 '18 at 5:13
KnowledgeSeeker
asked Nov 29 '18 at 3:59
KnowledgeSeekerKnowledgeSeeker
308221
308221
React router injectsclass='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 hasactive
class.
– euvs
Dec 2 '18 at 4:27
So you're saying that theclass='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
add a comment |
React router injectsclass='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 hasactive
class.
– euvs
Dec 2 '18 at 4:27
So you're saying that theclass='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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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 hasactive
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