zoukankan      html  css  js  c++  java
  • 【react】原生语法——列表渲染,条件渲染,事件响应

    列表渲染

    使用map函数遍历数组,生成一个html列表(表头内容)

            const heads = ["name", "sno", "sex", "age"];
            const thead = heads.map((head) =>
                <td key={head}>
                    {head}
                </td>
            );
            const students = [
                ["doomfist", "123456", "male", "21"],
                ["tracer", "123457", "female", "21"],
                ["genji", "123458", "male", "21"],
                ["mercy", "123459", "female", "21"],
            ]
          //嵌套遍历 const tstudents = students.map((stu)=> <tr key={stu}> {stu.map((info)=> <td key={info}> {info} </td> )} </tr> )

    条件渲染&事件响应

    MyTable组件用于展示数据

            class MyTable extends React.Component {
                render() {
                    return (
                        <table border="1">
                            <thead><tr>{thead}</tr></thead>
                            <tbody>
                                {tstudents}
                            </tbody>
                        </table>
                    );
                }
            }     
    

    一个用于切换视图的按钮(改变条件)

            function ToggleButton(props){
                return (
                    <button onClick={props.onClick}>
                        切换视图
                    </button>
                );
            }
    

    接着将两个组件组合在一个大的组件中

    class MainBox extends React.Component {
                constructor(){
                    super();
                    //绑定方法
                    this.toggleTable = this.toggleTable.bind(this);
                    //是否展示
                    this.state = {tableShow: true};
                }
                //通过事件响应,改变tableShow的值
                toggleTable(){
                    this.setState(prevState=>({
                      tableShow: !prevState.tableShow  
                    }))
                    
                }
           //判断是否展示,为table变量赋值是否为空 render(){ let table = null; if(this.state.tableShow){ table = <MyTable/> }; return( <div> <ToggleButton onClick={this.toggleTable}/> {table} </div> ) } }

    源码:https://www.jianguoyun.com/p/DblDki8QzLDdCRi9uIUE

    参考资料:https://www.runoob.com/react/react-tutorial.html

  • 相关阅读:
    解决linux下主机名变bogon的问题
    如何压缩虚拟机文件
    Linux shell crontab expdp 定时任务逻辑备份 定时删除旧文件
    .NET ramework 4.0安装失败
    Oracle数据库密码过期
    MySQL max_allowed_packet设置及问题
    WPF 异步执行
    win8 无法显示桌面,运行explorer.exe 提示 0xc0000018 异常 解决办法
    最全的Spark基础知识解答
    数据处理包plyr和dplyr包的整理
  • 原文地址:https://www.cnblogs.com/leftstan/p/15048412.html
Copyright © 2011-2022 走看看