首页 > 其他分享 >react组件实例属性props

react组件实例属性props

时间:2023-01-29 21:34:25浏览次数:56  
标签:name render age sex react props 组件 root

props

props简单使用

        class Person extends React.Component {
            render() {
                return (
                    <ul>
                        <li>姓名:{this.props.name}</li>
                        <li>年龄:{this.props.age}</li>
                        <li>性别:{this.props.sex}</li>
                    </ul>
                )
            }
        }
        const root = ReactDOM.createRoot(document.getElementById('test'));
        // 这里props属性要写成key:"value"形式,但是会默认将value视为字符串,若想传递js类型的字面量,则要加{}
        root.render(<Person name="kl" age={19} sex="男" />);

props批量操作


        class Person extends React.Component {
            render() {
                return (
                    <ul>
                        <li>姓名:{this.props.name}</li>
                        <li>年龄:{this.props.age}</li>
                        <li>性别:{this.props.sex}</li>
                    </ul>
                )
            }
        }
        const root = ReactDOM.createRoot(document.getElementById('test'));
        const p = { name: "lml", sex: "nan", age: 18 }
        root.render(<Person {...p} />);

props属性类型限制

需要导入prop-type

https://unpkg.com/[email protected]/prop-types.js

        class Person extends React.Component {
            render() {
                return (
                    <ul>
                        <li>姓名:{this.props.name}</li>
                        <li>年龄:{this.props.age + 1}</li>
                        <li>性别:{this.props.sex}</li>
                    </ul>
                )
            }
        }
        // 对props限制
        Person.propTypes = {
            name: PropTypes.string.isRequired,
            sex: PropTypes.string,
            age: PropTypes.number,
            speak: PropTypes.func, // 限制为函数
        }
        // props默认值
        Person.defaultProps = {
            sex: '不男不女',
            age: 18,
        }
        function speak() {
            console.log('说话了');
        }
        const root = ReactDOM.createRoot(document.getElementById('test'));
        // 这里props属性要写成key:"value"形式,但是会默认将value视为字符串,若想传递js类型的字面量,则要加{}
        root.render(<Person name="lml" age={19} speak={speak} />);

props属性限制的简写

        class Person extends React.Component {
            // 对props限制
            static propTypes = {
                name: PropTypes.string.isRequired,
                sex: PropTypes.string,
                age: PropTypes.number,
                speak: PropTypes.func, // 限制为函数
            }
            // props默认值
            static defaultProps = {
                sex: '不男不女',
                age: 18,
            }

            render() {
                return (
                    <ul>
                        <li>姓名:{this.props.name}</li>
                        <li>年龄:{this.props.age + 1}</li>
                        <li>性别:{this.props.sex}</li>
                    </ul>
                )
            }
        }

        const root = ReactDOM.createRoot(document.getElementById('test'));

        root.render(<Person name="lml" age={19} />);

函数组件使用props

        function People(props) {
            return (
                <ul>
                    <li>name:{props.name}</li>
                    <li>age:{props.age}</li>
                </ul>
            )
        }
        const root = ReactDOM.createRoot(document.getElementById('test'));

        root.render(<People name="lml" age={19} />);

标签:name,render,age,sex,react,props,组件,root
From: https://www.cnblogs.com/ucbb/p/17073870.html

相关文章

  • vue3语法糖+ts组件传值
    在开发中有些功能是通用的,而且逻辑大致相同,像这种东西可以封成一个组件,比较常用的就是函数封装,组件封装,组件封装是需要引入到页面使用的,所以通常它会有一些自己的方法,父子......
  • 如何在react中使用bind方法?
    JavaScript自身特性说明如果传递一个函数名给一个变量,之后通过函数名()的方式进行调用,在方法内部如果使用this则this的指向会丢失,为了避免这种情况的出现,我们可以使用bind......
  • 栅格组件
    一.nzsm和nzspannzSm必须和nz-col一起使用和nz-row同时使用是没有效果的,和nz-col使用的时候,上层可以不用设置nz-row也能生效。<divnz-col[nzSm]="5"><buttonnz-......
  • Vue 指定目录下的组件注册为全局组件
    //index.jsimportVuefrom'vue'constrequireComponent=require.context( //组件的相对路径 './', //是否查询其子目录 true, //匹配基础组件......
  • 组件基础
    组件基础组件使用在components中注册,也可以全局注册一个组件每次使用组件,都重新创建了实例,变量值是不同的推荐标签名:大驼峰propsprops是一种特别的属性,子组件使用......
  • vue3+betterScroll scroll滚动组件
    betterScroll在MVVM框架中使用时最麻烦的是更新时机,一般的需要滚动的列表数据都是来源于后端,是异步的。就必须要渲染完后refresh()一下。但是单独的Scroll组件是通过插槽放......
  • 使用Knative的服务管理组件管理应用
    在部署一个KnativeService之前,先了解一下它的部署模型和对应的Kubernetes资源。如下所示,在部署KnativeServingService的过程中,KnativeServing控制器将创建configuration......
  • vue递归组件
    一、前言在我们开发过程中,为了提高开发效率,降低开发难度,我们会直接使用组件库来实现,同时也衍生出了很多优秀的组件库,如:饿了么、蚂蚁、Iview、vant等等。但是有时这些组件......
  • React --- jsx语法规则
    jsx语法规则:1、定义虚拟dom时,不要写引号//创建虚拟DOM 1constVDOM=<h1><span>hello,react</span></h1> 2、标签中混入JS表达式时要用{}1//定义属性和标签内容2c......
  • Vue在子组件中修改Props的几种情况
    首先列举平常使用Vue父组件传递数据到子组件的几种情况传递的是基础数据类型(Number,Boolean,String)传递的是引用类型(Object,Array)结论当传给子组件的Prop为基本数据类......