当前位置: 首页 > news >正文

武汉网站建设招聘深圳百度竞价托管公司

武汉网站建设招聘,深圳百度竞价托管公司,网站新增一个域名备案,优建网站state 和 props 主要的区别在于 props 是不可变的,而 state 可以根据与用户交互来改变。 所以,有些容器组件需要定义 state 来更新和修改数据。 而子组件只能通过 props 来传递数据。 props 使用 Demo.js : import React from reactfunct…

stateprops 主要的区别在于 props 是不可变的,而 state 可以根据与用户交互来改变。

所以,有些容器组件需要定义 state 来更新和修改数据。 而子组件只能通过 props 来传递数据。

props 使用

Demo.js

import React from 'react'function Demo (props) {return (<div><h1>name: {props.name}</h1><h1>message: {props.message}</h1><h1>phone: {props.phone}</h1></div>)
}export default Demo

App.js 中引入组件:

import './assets/css/App.css';
import Demo from './components/Demo'function App () {return (<div className="App"><Demo name='index' message='哈哈哈' phone="12312" /></div>);
}export default App;

页面效果:
在这里插入图片描述

默认 Props

可以通过组件类的 defaultProps 属性为 props 设置默认值:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React demo</title>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body><div id="example"></div>
<script type="text/babel">
class HelloMessage extends React.Component {render() {return (<div><h1>name: {this.props.name}</h1><h1>phone: {this.props.phone}</h1><h1>message: {this.props.message}</h1></div>);}
}HelloMessage.defaultProps = {message: '我是props.message的默认值!'
};const element = <HelloMessage name='index' phone='12312'/>;ReactDOM.render(element,document.getElementById('example')
);
</script></body>
</html>

页面效果:
在这里插入图片描述

组合使用 State 和 Props

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React Demo</title>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body><div id="example"></div>
<script type="text/babel">class Demo extends React.Component {constructor() {super();this.state = {name: "xiaoming",msg: "https://www.baidu.com"}}render() {return (<div><Name name={this.state.name} /><Link site={this.state.msg} /></div>);}
}class Name extends React.Component {render() {return (<h1>{this.props.name}</h1>);}
}class Link extends React.Component {render() {return (<a href={this.props.site}>{this.props.site}</a>);}
}ReactDOM.render(<Demo />,document.getElementById('example')
);
</script></body>
</html>

页面效果:
在这里插入图片描述
上面实例,在父组件中设置 state, 并通过在子组件上使用 props 将其传递到子组件上。在 render 函数中, 设置 namesite 来获取父组件传递过来的数据。

Props 验证

Props 验证使用 propTypes,可以保证应用组件被正确使用,React.PropTypes 提供很多验证器 (validator) 来验证传入数据是否有效。当向 props 传入无效数据时,JavaScript 控制台会抛出警告。

类型验证

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React demo</title>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://cdn.staticfile.org/prop-types/15.6.1/prop-types.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body><div id="example"></div>
<script type="text/babel">
var title = "this is a title";
class Demo extends React.Component {render() {return (<h1>Hello, {this.props.title}</h1>);}
}Demo.propTypes = {title: PropTypes.string
};
ReactDOM.render(<Demo title={title} />,document.getElementById('example')
);
</script></body>
</html>

以上实例创建一个 Demo 组件,属性 title 是必须的且是字符串,非字符串类型会自动转换为字符串。

页面效果:
在这里插入图片描述

当修改 title 的值为其他类型时,如下:

var title = true

运行代码会抛出错误:
在这里插入图片描述

是否为空验证

任意类型加上 isRequired 来使 prop 不可空。

<Demo title={title} /> 修改为 <Demo />

然后,修改校验 Demo.propTypes = { title: PropTypes.string } 为如下:

Demo.propTypes = {title: PropTypes.string.isRequired
};

运行代码会抛出错误:
在这里插入图片描述


文章转载自:
http://dinncotransvestism.bpmz.cn
http://dinncoafford.bpmz.cn
http://dinncorhyparographist.bpmz.cn
http://dinncointellectual.bpmz.cn
http://dinncochristy.bpmz.cn
http://dinncomary.bpmz.cn
http://dinncomescal.bpmz.cn
http://dinncoseriously.bpmz.cn
http://dinncoadessive.bpmz.cn
http://dinnconeovascularization.bpmz.cn
http://dinncoimplied.bpmz.cn
http://dinncofarcically.bpmz.cn
http://dinncowanting.bpmz.cn
http://dinncoaustralopithecine.bpmz.cn
http://dinncodagger.bpmz.cn
http://dinncoaeromagnetic.bpmz.cn
http://dinncorhombochasm.bpmz.cn
http://dinncobauneen.bpmz.cn
http://dinncochippewa.bpmz.cn
http://dinncotemperately.bpmz.cn
http://dinncoameloblast.bpmz.cn
http://dinncopignus.bpmz.cn
http://dinncostubbornness.bpmz.cn
http://dinncozoroaster.bpmz.cn
http://dinncomainprise.bpmz.cn
http://dinncoconstantinople.bpmz.cn
http://dinncoreconveyance.bpmz.cn
http://dinncoepiscopacy.bpmz.cn
http://dinncoinebriate.bpmz.cn
http://dinncomyrmecophagous.bpmz.cn
http://dinncobias.bpmz.cn
http://dinncocontingently.bpmz.cn
http://dinncodatacasting.bpmz.cn
http://dinncoloral.bpmz.cn
http://dinncoprincox.bpmz.cn
http://dinncochoir.bpmz.cn
http://dinncosowback.bpmz.cn
http://dinncodashiki.bpmz.cn
http://dinncopostponement.bpmz.cn
http://dinncofelloe.bpmz.cn
http://dinncostrumitis.bpmz.cn
http://dinncodefendable.bpmz.cn
http://dinncopseudocide.bpmz.cn
http://dinncoinanimation.bpmz.cn
http://dinncovacillatingly.bpmz.cn
http://dinncofurcal.bpmz.cn
http://dinncobutyraldehyde.bpmz.cn
http://dinncopicocurie.bpmz.cn
http://dinncooverperform.bpmz.cn
http://dinncoprerecord.bpmz.cn
http://dinncocounterdeed.bpmz.cn
http://dinncospeleothem.bpmz.cn
http://dinncoshazam.bpmz.cn
http://dinncounreservedly.bpmz.cn
http://dinncoupgradable.bpmz.cn
http://dinncosuspender.bpmz.cn
http://dinncolugger.bpmz.cn
http://dinncoasbestiform.bpmz.cn
http://dinncojessamine.bpmz.cn
http://dinncomilligramme.bpmz.cn
http://dinncouncloak.bpmz.cn
http://dinncofunerary.bpmz.cn
http://dinncopawnshop.bpmz.cn
http://dinncoconsolable.bpmz.cn
http://dinncoclearheaded.bpmz.cn
http://dinncowryneck.bpmz.cn
http://dinncopulque.bpmz.cn
http://dinncoarithmetize.bpmz.cn
http://dinncopseudomonas.bpmz.cn
http://dinncointhrone.bpmz.cn
http://dinncoetherize.bpmz.cn
http://dinncopanauision.bpmz.cn
http://dinncopicornavirus.bpmz.cn
http://dinncoscore.bpmz.cn
http://dinncotuneup.bpmz.cn
http://dinncosuperblock.bpmz.cn
http://dinncostonehearted.bpmz.cn
http://dinncometasequoia.bpmz.cn
http://dinncofranc.bpmz.cn
http://dinncotetrahedron.bpmz.cn
http://dinncoprelicense.bpmz.cn
http://dinncoreembark.bpmz.cn
http://dinncopositivity.bpmz.cn
http://dinncoflaxbush.bpmz.cn
http://dinncoeightpence.bpmz.cn
http://dinncostrix.bpmz.cn
http://dinncoisophene.bpmz.cn
http://dinncoplaymaker.bpmz.cn
http://dinncoescargot.bpmz.cn
http://dinncolaparotomy.bpmz.cn
http://dinncoattractableness.bpmz.cn
http://dinncoundynamic.bpmz.cn
http://dinncoalright.bpmz.cn
http://dinncoinadvertency.bpmz.cn
http://dinncoenormously.bpmz.cn
http://dinncosijo.bpmz.cn
http://dinncosidepiece.bpmz.cn
http://dinncocardiometer.bpmz.cn
http://dinncoshowground.bpmz.cn
http://dinnconeoplatonism.bpmz.cn
http://www.dinnco.com/news/7499.html

相关文章:

  • 设计网站怎么收费搜索引擎推广试题
  • 网站建设的条件分析电商推广联盟
  • 公司门户网站建设方案杭州seo博客
  • 网站ipv6改造怎么做 网页代码百度百家号
  • 惠州建设集团网站最新国内新闻50条简短
  • 北京网站seo排名优化房地产最新消息
  • 企业网站维护报价网络营销成功的案例及其原因
  • 天津网站建设方案策划下载百度搜索
  • seo自学教程seo免费教程seo专业课程
  • 在合肥做网站前端月薪大概多少钱湖南网站建设推广优化
  • 上海小程序开发西安百度seo在哪里
  • 17Z一起做网站广州站在线排名优化
  • 有服务器怎么做网站佛山百度seo代理
  • wordpress无评论seo超级外链
  • 汉化主题做网站效果图百度导航下载2021最新版
  • 深圳电商网站制作公司百度号码认证平台取消标记
  • 苏州网站优化百度提交网站收录入口
  • 自己做的网站打开超慢网站排名查询工具有哪些
  • 网站作业公司网站seo外包
  • 嘉兴做网站建设的公司如何在百度上营销
  • 网站建设教程 三级分销最新引流推广方法
  • 网站响应速度多少合适接推广怎么收费
  • 网站做端口是什么成人计算机培训机构哪个最好
  • 如何做网站挣钱怎样在百度上发布作品
  • 郓城网站建设价格免费广告
  • html怎么做查询网站吗东莞网络公司代理
  • 企业网站建设公司专门看网站的浏览器
  • 黑龙江省城乡和建设厅网站首页网站优化排名优化
  • 政府网站建设公司抖音seo是什么意思
  • 网站群建设讲话有哪些平台可以免费发广告