新建项目
方式一:CDN,react-dom依赖于react需放在其后面
<script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script><script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script><script crossorigin src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
npx create-react-app my-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>learn-react</title><script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script><script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script><script crossorigin src="https://unpkg.com/babel-standalone@6/babel.min.js"></script></head><body><div id="app"></div><script type="text/babel">ReactDOM.render(<h1>Hello, world!</h1>,document.querySelector("#app"));</script></body></html>
JSX
使用表达式
const myId = 'acd';const mydata = 'hello,react!'ReactDOM.render((<h2 id={myId}>{mydata}</h2>),document.querySelector("#app"));
ReactDOM.render((<div><ul> {data.map((item, index) => {return <li key={index}>{item}</li>})}</ul></div>),document.querySelector("#app"));
注意:
{} 中只能使用表达式,不能使用语句
使用 className 而非 class
- 绑定style:style={{color:’blue’}}
- 绑定id:id={myId}
- 只能有一个根标签
- 大小标签为react组件,小写标签为HTML标签
组件
函数式组件
适用于简单组件ReactDOM.render(<MyComponent />,document.querySelector("#app"));function MyComponent() {return (<div>函数式组件</div>)}
类组件
参考
【1】https://fullstackopen.com/zh/
