React-Fragnant和React-Strict

简介: React-Fragnant和React-Strict

1.Fragment:

  • 由于React规定, 组件中只能有一个根元素
    所以每次编写组件的时候, 我们都需要在最外层包裹一个冗余的标签
  • 如果不想渲染这个冗余的标签, 那么就可以使用Fragment来代替
    https://zh-hans.reactjs.org/docs/fragments.html
    如果组件的结构比较复杂, 那么只能有一个根元素
    可以使用 <React.Fragment>或者他的语法糖<>

<React.Fragment>
                <p>{this.state.heroList[0]}</p>
                <p>{this.state.heroList[1]}</p>
                <p>{this.state.heroList[2]}</p>
            </React.Fragment>

如果需要给Fragment添加key, 那么就不能使用语法糖

return (
                            <React.Fragment key={name}>
                              <p >{name}</p>
                            </React.Fragment>
                        )

class Home extends React.PureComponent{
    constructor(props){
        super(props);
        this.state = {
            heroList: ['鲁班', '虞姬', '黄忠']
        }
    }
    render() {
        // 如果组件的结构比较复杂, 那么只能有一个根元素
        return {
                {
                    this.state.heroList.map(name=>{
                        return (
                            <React.Fragment key={name}>
                              <p >{name}</p>
                            </React.Fragment>
                        )
                    })
                }
            </>
        )
    }
}
class App extends React.PureComponent{
    constructor(props){
        super(props);
    }
    render(){
        return (
            /*
            <React.Fragment id={'app'}>
                <Home/>
            </React.Fragment>
             */
            // 下面的这种写法就是上面写法的语法糖
            <>
                <Home/>
            </>
        )
    }
}
export default App;

<React.Strict>开启严格模式会检查过时的表达和不符合规范的操作


33.png

image.png

import React from 'react';
class App extends React.PureComponent{
    constructor(props){
        super(props);
        console.log('constructor');
    }
    render(){
        return (
            <div id={'app'}>
                <p ref={'myRef'}>我是段落</p>
                <button onClick={()=>{this.btnClick()}}>按钮</button>
            </div>
        )
    }
    btnClick(){
        console.log(this.refs.myRef);
    }
}
export default App;



目录
相关文章
|
3月前
|
前端开发 JavaScript 开发工具
来了解一下!!!——React
来了解一下!!!——React
38 1
|
4月前
|
前端开发 JavaScript 数据管理
React 特点
React 是一个用于构建用户界面的JavaScript库,以其声明式设计、高效的DOM操作模拟、高度灵活性和组件化开发而著称。支持JSX语法,推荐使用以提高开发效率。React采用单向数据流,简化了数据管理,适合大型项目开发。
|
7月前
|
前端开发 JavaScript
React
【7月更文挑战第13天】
39 4
|
8月前
|
XML 前端开发 JavaScript
什么是react
什么是react
86 4
|
7月前
|
前端开发 JavaScript 数据管理
React精通之路
【7月更文挑战第6天】构建React精通之路:始于基础(HTML/CSS/JS,React文档),经由环境配置、组件、状态、路由学习;进阶探索Hooks、Redux、性能优化、测试调试;通过实战项目巩固,研究高级技术如HOC;参与开源,关注最新动态,活跃于技术社区,持续学习与成长。
63 0
|
9月前
|
JavaScript 前端开发 算法
React介绍
React介绍
59 0
|
9月前
|
前端开发 JavaScript 算法
|
存储 前端开发 JavaScript
React | React的JSX语法(二)
React | React的JSX语法(二)
React | React的JSX语法(二)
|
XML 前端开发 JavaScript
React | React的JSX语法(一)
React | React的JSX语法 React | React的JSX语法(一)
|
缓存 前端开发 Serverless

热门文章

最新文章