gpt4 book ai didi

Javascript react 组件条件菜单项显示

转载 作者:行者123 更新时间:2023-12-01 03:26:19 33 4
gpt4 key购买 nike

我有一个 React 组件,并且添加了 2 个链接。

一个链接将显示登录链接,另一个链接将显示注销链接。

我只是不想两者都显示,所以在 componentDidMount 上我添加了一个条件来隐藏其中一个或另一个。

这是代码:

class Navigation extends Component {

componentDidMount() {

let logged = true;

if (logged) {
document.getElementById('login').style.display = 'none';
} else {
document.getElementById('logout').style.display = 'none';
}

}
}

render() {

return (
<div>
<ul>
<li id="login"><a href="#login">Login</a></li>
<li id="logout"><a href="#logout">Logout</a></li>
</ul>
</div>
);
}
}

export default Navigation;

问题不在于任何方式都没有隐藏任何内容,因此它不起作用。

如何解决此问题,以便获得隐藏其中一个或另一个的条件?

最佳答案

我想说,不要直接修改 DOM 属性,而是使用条件渲染的 React 方法,例如

class Navigation extends Component {

render() {
//Get the logged value from wherever you are getting it in the application.
// Eg: let logged = true
return (
<div>
<ul>
{logged ? (<li id="logout"><a href="#logout">Logout</a></li>) : (<li id="login"><a href="#login">Login</a></li>) }

</ul>
</div>
);
}
}

export default Navigation;

关于Javascript react 组件条件菜单项显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44799940/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com