【建站服务】香港400电话申请开通【香港企业网站建设】香港微信公众号小程序开发运营价格、香港微信公众号APP软件客户端设计运营、香港网页页面设计公司费用、香港公司网站制作方案流程改版维护大概需要多少钱
作者: 风兰 . 阅读量: 4 . 发表时间:2022-09-20 15:26:49
上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
香港400电话申请开通【香港企业网站建设】香港微信公众号小程序开发运营价格、香港微信公众号APP软件客户端设计运营、香港网页页面设计公司费用、香港公司网站制作方案流程改版维护大概需要多少钱
香港(Hong Kong),简称“港”,全称中华人民共和国香港特别行政区,位于中国南部、珠江口以东,西与澳门隔海相望,北与深圳市相邻,南临珠海市万山群岛,区域范围包括香港岛、九龙、新界和周围262个岛屿,陆地总面积1106.66平方公里,海域面积1648.69平方公里。截至2019年末,总人口约752万人,是世界上人口密度最高的地区之一,人均寿命全球第一,人类发展指数全球第四。 [1-5] [22]
香港自古以来就是中国的领土,1842-1997年间曾受英国殖民统治。二战以后,香港经济和社会迅速发展,不仅跻身“亚洲四小龙”行列,更成为全球最富裕、经济最发达和生活水准最高的地区之一。1997年7月1日,中国政府对香港恢复行使主权,香港特别行政区成立。中央政府对香港拥有全面管治权,香港保持原有的资本主义制度长期不变,并享受外交及国防以外所有事务的高度自治权,以“中国香港”的名义参加众多国际组织和国际会议。“一国两制”、“港人治港”、高度自治是中国政府的基本国策。 [5-10]
香港是一座高度繁荣的自由港和国际大都市,与纽约、伦敦并称为“纽伦港”,是全球第三大金融中心,重要的国际金融、贸易、航运中心和国际创新科技中心,也是全球最自由经济体和最具竞争力城市之一,在世界享有极高声誉,被GaWC评为世界一线城市第三位。 [11-17]
香港是中西方文化交融之地,把华人智慧与西方社会制度的优势合二为一,以廉洁的政府、良好的治安、自由的经济体系及完善的法治闻名于世,有东方之珠、美食天堂和购物天堂等美誉。
voting_app/public/js/app-6.js
{/* Inside `render` for Product` */}<div className='middle aligned content'>
<div className='header'>
<a onClick={this.handleUpVote}>
<i className='large caret up icon' />
</a>
{this.props.votes}
</div>复制代码当用户单击向上投票图标时,它会触发一系列的函数调用。
(1) 用户点击向上投票图标。
(2) React调用Product组件的handleUpVote()函数。
(3)handleUpVote()函数调用它的onVote属性函数。该函数位于ProductList父组件内,将消息记录到控制台。
还需要做最后一件事才能完成这项工作。在handleUpVote()函数里引用this.props对象:
voting_app/public/js/app-6.js
handleUpVote() {
this.props.onVote(this.props.id);}复制代码这里是比较奇怪的部分:在render()函数中工作时,我们已目睹了this总是绑定到当前组件,但在自定义的组件方法handleUpVote()中,this的值实际上是null。
在JavaScript中,特殊的this变量根据上下文具有不同的绑定。例如,在render()函数中this被“绑定”到当前组件。换句话说,this“引用”这个组件。
理解this的绑定是学习JavaScript编程最棘手的部分之一。鉴于此,React初学者一开始不理解this的所有细节是没有问题的。
简而言之,我们希望handleUpVote()函数内部的this引用当前组件,就像在render()函数中一样。但是为什么render()函数中的this引用的是当前组件,而handleUpVote()函数中的this却不是呢?
对于render()函数,React自动帮我们把this绑定到当前组件。React指定一组默认的特殊API方法。render()就是这样的一个方法。我们将在本章末尾看到,componentDidMount()是另一个特殊的API方法。对于每个特殊的React方法,React会自动将this变量绑定到组件。
因此,当我们自定义组件方法时,就必须手动将this绑定到自己的组件。这是常用的一种模式。
将以下constructor()函数添加到Product组件的顶部:
voting_app/public/js/app-6.js
class Product extends React.Component {
constructor(props) {
super(props);
this.handleUpVote = this.handleUpVote.bind(this);
}复制代码constructor()函数是JavaScript类中的一个特殊函数。任何情况下通过类创建对象时,JavaScript就会调用constructor()函数。如果你之前从未使用过面向对象语言,那么知道React在初始化组件时首先会调用constructor()函数就足够了。React将组件的props作为参数来调用constructor()函数。
因为constructor()函数在组件初始化时被调用,所以本书会将它用于几种不同类型的情况。就当前的目的而言,只需知道,当想要将自定义组件方法绑定到React组件类时,就可以使用这种模式:
class MyReactComponent extends React.Component {
constructor(props) {
super(props); // 总是先调用这个方法
// 自定义方法在这里绑定
this.someFunction = this.someFunction.bind(this);
}}复制代码有关此模式的详细信息,请参阅附加栏“在constructor()函数中绑定”。
本章的末尾将使用一个实验性的JavaScript特性来绕过这个模式。但是,在使用常规ES7 JavaScript时,请务必牢记这个模式。
当定义自己的React组件类方法时,必须在
constructor()函数中执行绑定模式,以便this能引用组件。
保存更新后的app.js,并刷新Web浏览器,然后点击向上投票按钮,可以看到一些文本会记录到JavaScript控制台,见图1-13。

图1-13 一些文本记录到JavaScript控制台
可以看到,事件正在向父组件传递!
ProductList组件是产品数据的所有者。现在只要有用户对产品进行投票,Product组件就会通知其父组件。下一个任务是更新产品的票数。
但在哪里执行更新操作呢?目前应用程序还没有存储和管理数据的地方。Seed对象应该被视为示例的种子数据,而不是应用程序的数据存储。
应用程序目前缺少的是状态。
事实上,我们可能想要更新
Seed.products数组中的票数,如下所示:// 这会有用吗?Seed.products.forEach((product) => { if (product.id === productId) { product.votes = product.votes + 1; }});`复制代码这样做是行不通的。更新
Seed对象时,React应用程序不会被告知变化。在UI上,也没有迹象表明票数增加了。

香港400电话申请开通【香港企业网站建设】香港微信公众号小程序开发运营价格、香港微信公众号APP软件客户端设计运营、香港网页页面设计公司费用、香港公司网站制作方案流程改版维护大概需要多少钱
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站


