React学习计划-React16--React基础(五)todoList案例、配置代理、消息订阅与发布
2023-12-23 10:31:35
    		一、todoList案例相关知识点
 
- 拆分组件、实现静态组件,注意:className、style的写法
- 动态初始化列表,如何确定姜数据放在哪个组件的state中?- 某个组件使用:放在其自身的state中
- 某些组件使用:放在他们共同的父组件state中(官方称此操作为:状态提升)
 
- 某个组件使用:放在其自身的
- 关于父子之间通信: 
  - 【父组件】给【子组件】传递数据:通过props传递
- 【子组件】给【父组件】传递数据:通过props传递,要求是父提前给子传递一个函数
 
- 【父组件】给【子组件】传递数据:通过
- 注意defaultChecked和checked区别,类似还有defaultValue和value
- 状态在哪里,操作状态的方法就在哪里
案例:
-  文件目录结构: 
  
-  App.js:
  
-  app.module.css:
  
-  Hearder- index.jsx
  
- index.css- .search { width: calc(100% - 20px); padding: 10px; }
 
-  List- index.jsx
  
- idnex.css
 ul { list-style: none; margin: 0; padding: 0; }
-  Item-  index.jsx
  
-  index.module.css
 .li-content{ display: flex; justify-content: space-between; padding: 2px 5px; } .del { border: none; background: none; font-size: 18px; font-weight: bold; color: red; }
-  
-  Footer:-  index.jsx
  
-  index.module.css
 .footer { display: flex; justify-content: space-between; align-items: center; height: 50px; padding: 10px 20px; border-top: 1px solid #ccc; } .count{ margin-left: 20px; } button { width: 150px; height: 40px; background-color: rgb(255, 0, 72); border-radius: 20px; color: #fff; cursor: pointer; }
-  
8.运行效果
 
二、配置代理

-  代理到服务器的5000端口,前端端口是3000,请求时候http://localhost:3000/students 所有3000端口下没有的资源都会转发到http://localhost:5000,如果有则不转发 
  
-  配置多个代理 
  
三、消息订阅与发布(pubSub)
 
- 安装**yarn add pubsub-js**
- 接收组件List/index.jsx
  // 一挂载好就订阅消息
  import PubSub from 'pubsub-js'
  componentDidMount(){
    this.pub = PubSub.subscribe('defClick', (_, data) => {
      this.setState(data)
    })
  }
  // 取消订阅
  componentWillUnmount(){
    PubSub.unsubscribe(this.pub)
  }
- 发布信息Hearder/index.jsx
import PubSub from 'pubsub-js'
PubSub.publish('defClick', {val})
    			文章来源:https://blog.csdn.net/qq_35940731/article/details/135164802
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!