首页IT科技react子组件向父组件传参(React数据通信父传子和子传父的使用)

react子组件向父组件传参(React数据通信父传子和子传父的使用)

时间2025-05-02 12:49:38分类IT科技浏览4373
导读:组件中的props 在react中,props的特点是: 1.可以给组件传递任意类型的数据 2.props...

组件中的props 在react中            ,props的特点是: 1.可以给组件传递任意类型的数据 2.props是只读的对象                  ,只能够读取属性的值      ,无法修改对象 如过我们强行修改数据         ,会报错                  ,告诉我们该属性是只读属性            。 ps:在类组件中         ,如果写了构造函数      ,应该将props传递给super(). 否则无法在构造函数中获取到props 函数组件-父传子 子组件.js const FunCom = (props) => { return ( <div> <h2>我是函数组件</h2> <p>我叫{ props.name}</p> </div> ) } export default FunCom 页面使用 import React from react; import ReactDOM from react-dom; <!-- 引入 --> import FunCom from ./components/FunCom ReactDOM.render(<FunCom name="李大为"/>, document.getElementById(root)) 类组件-父传子 子组件 import React from "react"; class FunCom extends React.Component{ render() { return ( <div> <h2>我是函数组件</h2> <p>我叫{ this.props.name}</p> </div> ) } } export default FunCom 页面使用 import React from react; import ReactDOM from react-dom; <!-- 引入 --> import FunCom from ./components/FunCom ReactDOM.render(<FunCom name="李大为"/>, document.getElementById(root)) 函数组件与类组件接收参数的区别 函数组件接受参数直接是:props.xxx 类组件接受参数直接是: this.props.xxx 组件可以传递那些值? 可以传递:可以传递数字                  , xxx={19} html,函数等等.... 详细代码如下 父组件 import React from react; //这个是react这个包            ,我们是需要的 import ReactDOM from react-dom; //这个是react的虚拟dom import FunCom from ./components/FunCom ReactDOM.render(<FunCom name="李大为" age={19} fn={() => { console.log(我被出发了)}} tag={<h2>我是H2</h2>} />, document.getElementById(root)) 子组件 import React from "react"; class FunCom extends React.Component{ render() { console.log(this.props) return ( <div> <h2>我是函数组件</h2> <p>我叫{this.props.name}</p> { this.props.tag} </div> ) } } export default FunCom 子组件传递数据父组件 1.父组件提供一个回调函数(用于接受数据) 2.将该函数作为属性的值   ,传递给子组件 儿子组件 import React from "react"; class FunCom extends React.Component{ state = { msg:儿子给父亲的数据 } // 将数据传递给父组件 giveFtaher = () => { this.props.giveChildren(this.state.msg) } render() { return ( <div> <p>我是函数组件</p> <button onClick={this.giveFtaher}>给父组件</button> </div> ) } } export default FunCom 父组件 import React from react; //这个是react这个包                  ,我们是需要的 import ReactDOM from react-dom; //这个是react的虚拟dom import FunCom from ./components/FunCom class PartentHello extends React.Component { // 当点击按钮的收               ,子组件会触发这个方法 getMsg = (data) => { console.log(接收到子组件的数据,data) } render() { return ( <div> <p>我是主页面</p> <FunCom giveChildren={ this.getMsg}></FunCom> </div> ) } } ReactDOM.render(<PartentHello></PartentHello>,document.getElementById(root))

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
bios2.61翻译(关于BIOS的入口地址0xFFFF0的介绍) 2821电视剧推荐(干货合集!最适合2024春节假期熬夜三刷的高分电视剧大全!)