zoukankan      html  css  js  c++  java
  • React-条件渲染

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8" />
        <title>Learn React</title>
        <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
        <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
        <!-- 生产环境中不建议使用 -->
        <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
    </head>
    <body>
    <div id="root"></div>
    <script type="text/babel">
    
    function UserGreeting(props){
        return <h1>Welcome back!</h1>;
    }
    function  GuestGreeting(props){
        return <h1>Please sign up.</h1>;
    }
    function Greeting(props){
        const isLoggedIn = props.isLoggedIn;
        if(isLoggedIn){
            return <UserGreeting/>;
        }else{
            return <GuestGreeting/>
        }
    }
    
    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};
        }
    
        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>
        );
        }
    }
    
    ReactDOM.render(
    <LoginControl />,
        document.getElementById('root')
    );
    
    </script>
    </body>
    </html>
    
    
  • 相关阅读:
    CF_402C Searching for Graph 乱搞题
    zoj Simple Equation 数论
    zoj 3757 Alice and Bob and Cue Sports 模拟
    uva_12535
    boj1267 Infinite’s Cave 树形dp + 背包
    CF_216_Div_2
    nxlog4go 简介
    log4go的一些改进设想
    nxlog4go 的配置驱动
    nxlog4go Log Levels and Pattern Layout
  • 原文地址:https://www.cnblogs.com/csnd/p/12061876.html
Copyright © 2011-2022 走看看