日期: 2022-09-21 06:03:17 浏览数:5

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
甘肃网页设计-高端网站设计公司

<Name name={this.props.name} url={this.props.url} .../>
那么我们怎么样吧父属性直接赋值给子组件的props参数呢?如下写法即可:
<Name props={this.props}/>
这样写就非常简洁了,也就子控件和父控件都有了同样数据结构的 props 参数。
很多情况下我们调试页面时,看到的参数名在父控件和子控件中部一样,但是表示的值是同一个,写这段代码的人可能还记得这个参数是转译的,但是其他人阅读时就会摸不着头脑,在效率上是处于弱势的,所以我们一般建议引用父组件参数尽量保持名称不变,以便以后维护。
xjjuser
xjjuser
xjj***r@yeah.net
4年前 (2018-08-10)
doo0301@qq.com
doo***1@qq.com
17
Props 实现父与子通信:
import React from 'react';
import ReactDOM from 'react-dom';
export default class CptBody extends React.Component{
constructor(){
super();
this.state = {username : "父级名称"}; //可以传json等很多格式(这个是初始化赋值)
}
//click事件函数
changeAge(){
this.setState({username:"父级名称--修改"})
}
//change事件函数
changeUsername(event){
this.setState({username:event.target.value})
}
render(){
return(
<div>
<h1>这里是主体内容部分</h1>
<p>{this.state.username}</p>
<input type="button" value="点击改变username" onClick={this.changeAge.bind(this)}/>
<BodyChild changeUsername={this.changeUsername.bind(this)}/>
</div>
)
}
}
class BodyChild extends React.Component{
render(){
return(
<div>
<p>子页面输出:<input type='text' onChange={this.props.changeUsername} /></p>
</div>
)
}
}
如果想实现“父级”同步“子级”的数据,则需要在子级数据发生改变的时候,调用执行父级props传来的回调,从而达到父级同步更新的效果。
doo0301@qq.com
doo0301@qq.com
doo***1@qq.com
4年前 (2018-11-22)
独孤尚良
yut***hanlin@qq.com
30
借助楼上的代码,做了个改良,下面的父子模块互相传递参数。
class CptBody extends React.Component{
constructor(){
super();
this.state = {username : 1}; //可以传json等很多格式(这个是初始化赋值)
}
//click事件函数
changeAge(){
this.setState({username:1+this.state.username})
}
//change事件函数
changeUsername(event){
this.setState({username:parseInt(event.target.value)})
}
render(){
return(
<div>
<h1>下面的操作有惊喜</h1>
<p>{this.state.username}</p>
<input type="button" value="点击改变username" onClick={()=>this.changeAge()}/>
<BodyChild changeUser
甘肃网页设计-高端网站设计公司
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
年轻的C同学
tco***ence@gmail.com
上次在 React 组件看到这篇笔记没看懂,原来是这里的,现在贴过来分享一下。但是自己现在还是不太懂,希望过几天再来看的时候能够明白。
对创建多个组件的代码,做了点小修改,帮助大家理解。
<WebSite name="菜鸟教程" site=" http://www.runoob.com" />,这种形式传入的 name 和 url 值,只能在 WebSit 组件中用 this.props.xxx 来使用。虽然原来的代码中,Name 和 Site 组件中也是以同样的形式使用的,但并不是因为这条语句的作用,而是因为 <Name name={this.props.name} /> <Link site={this.props.site} /> 。所以我特意将这几行代码做了修改,方便大家感受感受!
WebSite 组件中:
<Name title={this.props.name}/> // 将this.props.name以title名称传给Name组件,Name通过this.props.title来使用其值<Url site={this.props.url}/> // 将this.props.url以site名称传给Url组件,Url通过this.props.site来使用其值Name 组件中:
<h1>{this.props.title}</h1>Site 组件中:<a href={this.props.site}>{this.props.site}</a>
年轻的C同学
tco***ence@gmail.com
xjjuser
xjj***r@yeah.net
来补充一下上面那位同学所说的。很多情况下,子控件需要父控件所有的 props 参数,这个时候我们一个一个参数的写会很麻烦,比如:
<Name name={this.props.name} url={this.props.url} .../>那么我们怎么样吧父属性直接赋值给子组件的props参数呢?如下写法即可:
<Name props={this.props}/>这样写就非常简洁了,也就子控件和父控件都有了同样数据结构的 props 参数。
很多情况下我们调试页面时,看到的参数名在父控件和子控件中部一样,但是表示的值是同一个,写这段代码的人可能还记得这个参数是转译的,但是其他人阅读时就会摸不着头脑,在效率上是处于弱势的,所以我们一般建议引用父组件参数尽量保持名称不变,以便以后维护。
xjjuser
xjj***r@yeah.net
doo0301@qq.com
doo***1@qq.com
Props 实现父与子通信: