美文网首页
元素变量

元素变量

作者: yanghanbin_it | 来源:发表于2017-06-10 16:20 被阅读0次

    在JSX中如果有元素变量,在使用的时候用{}包裹起来使用

    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 />;
        }
        return <GuestGreeting />;
    }
    
    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 = null;
            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')
    );
    

    相关文章

      网友评论

          本文标题:元素变量

          本文链接:https://www.haomeiwen.com/subject/llfcqxtx.html