组件
创建自定义标签,用一个标签替代多个标签,可以给标签设置任意样式存储,减少代码写作,提高浏览器加载速度,也可以子父组件传值,改变组件的内容
//es5创建组件
function List(){
return <li><a href="#">看看文字效果</a></li>
}
ReactDOM.render(
(<div>
<List>asdfghj</List>
</div>),
document.getElementById("app")
)
//es6创建组件
class List extends React.Component{
render(){
return <li><h1>看看文字效果</h1></li>
}
}
ReactDOM.render(
(<div>
<List>asdfghj</List>
</div>),
document.getElementById("app")
)
代码如下:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</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="app"></div>
- <script type="text/babel">
- //es5创建组件
- function List(){
- return <li><a href="#">看看文字效果</a></li>
- }
- ReactDOM.render(
- (<div>
- <List>asdfghj</List>
- </div>),
- document.getElementById("app")
- )
-
- //es6创建组件
- class List extends React.Component{
- render(){
- return <li><h1>看看文字效果</h1></li>
- }
- }
- ReactDOM.render(
- (<div>
- <List>asdfghj</List>
- </div>),
- document.getElementById("app")
- )
- </script>
- </body>
- </html>
state 和 props都是普通的JavaScript对象。尽管它们两者都具有影响渲染输出的信息,但它们在组件方面的功能不同。即