React渲染和事件处理

一、列表渲染

①在列表中,绑定数组成员会直接把成员渲染

    <div id="app"></div>
    <script src="node_modules/@babel/standalone/babel.js"></script>
    <script src="node_modules/react/umd/react.development.js"></script>
    <script src="node_modules/react-dom/umd/react-dom.development.js"></script>
    <script type="text/babel">
        const fruits =[
            <li key='one'>apple</li>,
            <li key='two'>orange</li>,
            <li key='three'>banana</li>,
        ]
        const element = (
            <div>
                <ul>{fruits}</ul>
            </div>
        )
        ReactDOM.render(element,document.getElementById('app'))
    </script>

②当数组成员是对象时,可以直接在标签中生成一个数组

    <div id="app"></div>
    <script src="node_modules/@babel/standalone/babel.js"></script>
    <script src="node_modules/react/umd/react.development.js"></script>
    <script src="node_modules/react-dom/umd/react-dom.development.js"></script>
    <script type="text/babel">
        const todos = [
            {id:1,name:'eric'},
            {id:2,name:'marry'},
            {id:3,name:'jack'},
            {id:4,name:'lisa'},
        ]
        
        const element = (
            <div>
                <ul>
                    {
                        todos.map(item => {
                            return <li key={item.id}>{item.name}</li>
                        })
                    }
                </ul>
            </div>
        )
        ReactDOM.render(element,document.getElementById('app'))
    </script>

二、条件渲染

    <div id="app"></div>
    <script src="node_modules/@babel/standalone/babel.js"></script>
    <script src="node_modules/react/umd/react.development.js"></script>
    <script src="node_modules/react-dom/umd/react-dom.development.js"></script>
    <script type="text/babel">
        const user ={
            name:'eric',
        }
        function getHi(user) {
            if (user) {
                return <h1>hello {user.name}</h1>
            }
            return <h1>hello world</h1>
        }
        const element = getHi(user)
        //const element = getHi()
        ReactDOM.render(element,document.getElementById('app'))
    </script>

三、事件处理

    <div id="app"></div>
    <script src="node_modules/@babel/standalone/babel.js"></script>
    <script src="node_modules/react/umd/react.development.js"></script>
    <script src="node_modules/react-dom/umd/react-dom.development.js"></script>
    <script type="text/babel">
        function handleClick() {
            window.alert('hello')
        }
        // 事件使用驼峰命名
        // 必须绑定一个函数,行数体不能写在行内,也可以直接绑定一个匿名函数
        // 不能使用字符串的方式,一定要用{函数}来绑定
        const element = (
            <div>
                <button onClick={handleClick}>点击1</button>
                <button onClick={()=>{alert('world')}}>点击2</button>
            </div>
        )

        ReactDOM.render(element,document.getElementById('app'))
    </script>

转载于:https://www.cnblogs.com/EricZLin/p/9434475.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值