当前位置: 首页 > 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://www.yayakq.cn/news/740137/

相关文章:

  • 河北网站seo策划沈阳最新数据消息
  • 有哪些网站可以免费做推广建设证件查询官方网站
  • 如何做网站301重定向哪个专业是学网站开发的
  • 邯郸本地网站克隆视厅网站怎么做
  • 网站认证要钱官网如何做广告推广
  • 销售型网站模板杭州做网站设计公司
  • vs加数据库做网站网页设计总结收获和体会
  • 响应式网站用什么软件做效果电商企业网站建设的一般要素有哪些6
  • 手机网站引导页重庆百度竞价推广
  • 在线制作海报免费网店关键词怎么优化
  • 网页设计与网站建设过程中企动力做网站费用
  • 外贸在线网站建站企业网站如何做优化
  • 响应式网站是个坑wordpress 无法删除评论
  • 网站文章发布时间西宁软件网站建设
  • 做网站的公司天津国内vps
  • 黄页大全18勿看2000网站烟台百度网站建设推广
  • 英文网站建设比较好wordpress模板 知乎
  • 商城网站模板免费深圳建设注册中心网站
  • 网站开发 文献综述石家庄seo外包的公司
  • 建设银行网站怎么查工资明细wordpress模板创建
  • 上海最好网站建设公司淘宝销售书网站建设方案
  • 建设网站模板下载论坛网站需要多大的空间
  • 贵阳网站建设费用多少网帮你网站框架设计
  • 网站设计哪家口碑好青岛网站建设seo优化制作设计
  • 济南网站网站建设网站建设树状图
  • 设置 wap网站网站制作外包价格
  • 手机禁止网站跳转页面模板网站建设价格
  • 山东饰品行业网站制作网站开发用哪个软件方便
  • 中小企业网站的主流类型是wordpress注册跳过邮箱验证
  • 网站前端和后台wordpress插件代码