目录
2、React并不会绑定一个事件到具体的元素上,而是采用事件代理的模式
(1)使用JS函数创建的组件
(2)函数名必须大写开头
(3)组件必须有返回值
- function Hello(){
- return(
- <div>3333333div>
- )
- }
- ReactDOM.render(<Hello />,document.getElementById<"root">)
注意:16.8版本之前 函数组件是无状态组件,16.8版本以后,加入了react-hooks
(1)类名大写开头
(2)类组件应继承React.Component父类
(3)类组件必须提供render()方法
(4)render()必须有返回值
- class Ok extends React.Component{
- render(){
- return(
- <div>你好classdiv>
- )
- }
- }
Book.js
- // Book.js
- import React from 'react'
-
- export Book extends React Component {
- render() {
- return (
- <h1>读书明智h1>
- )
- }
- }
- // 导出
- export default Book
index.js
- import Book from './Book'
- import ReactDOM.render(<Book />,
- document.getElementById('root'))
- {
- /* 第一个{ }是JSX用法
- 第二个{ }是对象*/
- <p style={ {color:'red'} }>todayp>
- <p style={style}>is very good!p>
- }
(1) 注意好外部css文件,在js中使用import引入
(2)注意:class属性建议写为className
可以通过 this.refs.myword获取p标签
'myword'>你好
注意:refs将要被弃用,在严格模式下会报错
- myRef = React.createRef()
- this.myRef}>
- {
- this.state.arr.map(item => <li key={item.id}>{item}li>)
- }
yes
:no
- render() {
- const {type} = this.state
- return (
- <div>
- {
- //利用三元运算符渲染需要渲染的变量
- type === 优秀 ? <h2>type值等于优秀h2> :
- <h2 className="score">type值不等于优秀h2>
- }
- div>
- );
- }
-
ok
- render() {
- const {type} = this.state
- return (
- <div>
- {type === 优秀 && <h2>type值等于优秀h2>}
- {type !== 优秀 && <h2 className="score">type值不等于优秀h2>}
- div>
- );
- }