React学习案例二十八
Posted hhh江月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React学习案例二十八相关的知识,希望对你有一定的参考价值。
React学习案例二十八
function Greeting(props)
const isLoggedIn = props.isLoggedIn;
if (isLoggedIn)
return <UserGreeting />;
return <GuestGreeting />;
ReactDOM.render(
// Try changing to isLoggedIn=true:
<Greeting isLoggedIn=false />,
document.getElementById('root')
);
function LoginButton(props)
return (
<button onClick=props.onClick>
Login
</button>
);
function LogoutButton(props)
return (
<button onClick=props.onClick>
Logout
</button>
);
class LoginControl extends React.Component
constructor(props)
super(props);
this.handleLoginClick = this.handleLoginClick.bind(this);
this.handleLogoutClick = this.handleLogoutClick.bind(this);
this.state = isLoggedIn: false;
return (
<div>
<Greeting isLoggedIn=isLoggedIn />
button
</div>
);
handleLoginClick()
this.setState(isLoggedIn: true);
handleLogoutClick()
this.setState(isLoggedIn: false);
render()
const isLoggedIn = this.state.isLoggedIn;
let button;
if (isLoggedIn)
button = <LogoutButton onClick=this.handleLogoutClick />;
else
button = <LoginButton onClick=this.handleLoginClick />;
return (
<div>
<Greeting isLoggedIn=isLoggedIn />
button
</div>
);
render()
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
The user is <b>isLoggedIn ? 'currently' : 'not'</b> logged in.
</div>
);
同样的,它也可以用于较为复杂的表达式中,虽然看起来不是很直观:
render()
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
isLoggedIn
? <LogoutButton onClick=this.handleLogoutClick />
: <LoginButton onClick=this.handleLoginClick />
));
render()
return (
<div>
<WarningBanner warn=this.state.showWarning />
<button onClick=this.handleToggleClick>
this.state.showWarning ? 'Hide' : 'Show'
</button>
以上是关于React学习案例二十八的主要内容,如果未能解决你的问题,请参考以下文章