• React 基础案例


    React的特点:

    1、声明式编程

    2、组件化开发

    3、多平台适配yuan

    原生实现:

    1. <h2 class="title">h2>
    2. <button class="btn">改变文本button>
    3. <script>
    4. let msg = "Hello World";
    5. const titleEl = document.querySelector(".title");
    6. titleEl.innerHTML = msg;
    7. const btnEl = document.querySelector(".btn");
    8. btnEl.addEventListener("click", (e) => {
    9. msg = "Hello React";
    10. titleEl.innerHTML = msg;
    11. });
    12. script>

    React实现:

    React开发必须依赖三个库

    1、react:包含react所必须的核心代码

    2、react-dom:react渲染在不同平台所需要的核心代码

    3、babel:将jsx转换成React代码的工具

    (1)引入依赖

    1、直接CDN引入

    2、下载后,添加本地依赖

    3、npm管理(脚手架使用)

    1. <body>
    2. <script
    3. src="https://unpkg.com/react@16/umd/react.development.js"
    4. crossorigin
    5. >script>
    6. <script
    7. src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"
    8. crossorigin
    9. >script>
    10. <script src="https://unpkg.com/babel-standalone@6/babel.min.js
    11. ">script>
    12. <div id="app">appdiv>
    13. <script type="text/babel">
    14. let msg = "Hello World";
    15. function btnClick() {
    16. msg = "Hello React";
    17. render();
    18. }
    19. // 渲染的内容,挂载的对象
    20. function render() {
    21. ReactDOM.render(
    22. <div>
    23. <h2>{msg}h2>
    24. <button onClick={btnClick}>改变文本button>
    25. div>,
    26. document.getElementById("app")
    27. );
    28. }
    29. render();
    30. script>
    31. body>

    代码组件化 

    1. <body>
    2. <script
    3. src="https://unpkg.com/react@16/umd/react.development.js"
    4. crossorigin
    5. >script>
    6. <script
    7. src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"
    8. crossorigin
    9. >script>
    10. <script src="https://unpkg.com/babel-standalone@6/babel.min.js
    11. ">script>
    12. <div id="app">appdiv>
    13. <script type="text/babel">
    14. // 封装App组件 想让app是个组件必须先继承
    15. class App extends React.Component {
    16. // 构造器定义属性
    17. constructor() {
    18. super(); // 初始化父类实例,才可以使用this
    19. // 当数据变化引起页面的变化,不能直接定义在对象里面,必须写在state对象里面
    20. this.state = {
    21. msg: "Hello World",
    22. };
    23. }
    24. render() {
    25. return (
    26. <div>
    27. <h2>{this.state.msg}h2>
    28. <button onClick={this.btnClick.bind(this)}>改变文本button>
    29. div>
    30. );
    31. }
    32. btnClick() {
    33. //直接修改页面不会发生变化 this.state.msg = "Hello React";
    34. // 必须通过一个函数执行 数据更新操作render函数
    35. this.setState({
    36. msg: "Hello React",
    37. });
    38. }
    39. }
    40. ReactDOM.render(<App />, document.getElementById("app"));
    41. script>
    42. body>

    (2)使用脚手架

    原生使用的是命令式编程,react使用的是声明式编程

    命令式编程:每做一个操作,都是计算机(浏览器)一步步命令

    声明式编程:表明想要做什么,应该做什么,但是不指定具体怎么做

  • 相关阅读:
    【华为机试真题 JAVA】最大嵌套括号深度-100
    学了一天java,我总结了这些知识点
    机器人控制器编程实践指导书旧版-实践四 步进电机(执行器)
    Fabric.js在vue2中使用
    结构化数据和非结构化数据
    jvm关闭时的钩子函数
    滴滴线下仿真环境实践:从方案设计到持续运营
    java.lang.Float类下equals()方法具有什么功能呢?
    LLM概览:从起源至LangChain的资源整合,及对NLP领域的深远影响(LLM系列01)
    周四见|物流人的一周资讯
  • 原文地址:https://blog.csdn.net/m0_60376759/article/details/138076876