react 非父子组件传参方式
1.通过父组件当中间人方式,子传父再传子
2.通过发布订阅模式
obj={
list:[],
sub(callback){
list.push(callback)
},
pub(){
list.foreach((callback)=>{
callback()
})
}
}
obj.sub(()=>{
console.log(''')
})
obj.pub()
先发布后订阅
3.context通讯
父组件通过包裹
ThemeContext= react.createContext()
<ThemeContext.Provider value={{
theme: themes[themeIndex],
changeTheme: this.changeTheme
}}>
子组件
<ThemeContext.Consumer>
{({theme, changeTheme}) => <button onClick={changeTheme} style={{background: theme.background, color: theme.color}}> It's a button. }
</ThemeContext.Consumer>
react 非父子组件传参方式的更多相关文章
- React(7) --react父子组件传参
react父子组件传参 父级向子级传参:在父组件中,我们引入子组件,通过给子组件添加属性,来起到传参的作用,子组件可以通过props获取父组件传过来的参数. 在父组件中: import React f ...
- Angular 项目开发中父子组件传参
在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...
- vue 父子组件传参
父向子组件传参 例子:App.vue为父,引入componetA组件之后,则可以在template中使用标签(注意驼峰写法要改成componet-a写法,因为html对大小写不敏感,component ...
- vue 监听父子组件传参,对象数据变化
watch:{ 组件传参的字段 :{ handler (newV, oldV){ 这里打印 newV, oldV 就可以看到数据变化了 } , immediate: true, // 重点 deep: ...
- vue 动态组件、父子组件传参
1.vue中的自定义属性并获得属性的值 自定义属性::data-id语法为 :data-属性 获取属性的值:ev.target.dataset.id 2.vue父子组件传值 3.动态组件使用
- vue指令,实例成员,父子组件传参
v-once指令 """ v-once:单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) """ <di ...
- React编写input组件传参共用onChange
之前写页面上的input比较少,所以没有单提出来一个组件,今天研究了下input组件,但共用一个onChange的问题卡了一会儿,查了下发现几个比较好的方法,分享下: 方法一 Input组件 let ...
- Vue父子组件传参新写法
以前我在写接受自定义事件是这么写的: 后来我在官网看到这样一种说法:可以用$event代替emit事件传入的参数,于是我写成了这样: 直到昨天Vetur更新,给我报了这么一个错误: 报错原因:事件不能 ...
- Vue(小案例_vue+axios仿手机app)_公共组件(路由组件传参)
一.前言 1.公共轮播图的实现 2.组件传参,公共组件的实现 二.主要内容 1.公共轮播图的实现 (1)分析:当渲染不同的轮 ...
- react第六单元(react组件通信-父子组件通信-子父组件通信-跨级组件的传参方式-context方式的传参)
第六单元(react组件通信-父子组件通信-子父组件通信-跨级组件的传参方式-context方式的传参) #课程目标 1.梳理react组件之间的关系 2.掌握父子传值的方法 3.掌握子父传值的方法 ...
随机推荐
- web基础(6): CSS综合实例-咖啡网页设计
咖啡店案例效果图 (一)页面的布局 1. 最上方的header:右下角是四个小图标,像图层一样附加在当前的header部分上. 2. 超链接构成的导航栏,鼠标悬浮的时候字体颜色发生变化. 3. 主体分 ...
- springcloud 和springboot版本对比
版本对应关系大版本对应: Spring Cloud Spring Boot Angel版本 兼容Spring Boot 1.2.x Brixton版本 兼容Spring Boot 1.3.x,也兼容S ...
- Angular响应式表单验证输入(跨字段验证、异步API验证)
一.跨字段验证 1.新增验证器 import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms'; exp ...
- c-->extern关键字的使用
extern关键字的使用 作用:声明外部符号(使用其他文件的全局变量) 例子: 源文件: test.c #include <stdio.h> extern int year;//使用ext ...
- 【git】git基本使用以及设置
视频讲解 一.git下载 官网:Git - Downloads (git-scm.com) 国内镜像:CNPM Binaries Mirror (npmmirror.com) 就目前而言,github ...
- CamstarVP提交前验证
方法一: public override FormsFramework.ValidationStatus ValidateInputData(Service serviceData) { Valida ...
- echarts柱状图快速上手笔记地址
https://blog.csdn.net/qq_40323256/article/details/114890628 借鉴借鉴
- shell 每秒调用某个地址的方法
#!/bin/bash step=1 for (( i = 0; i < 60; i=(i+step) )); do curl http://fn.k6akg6f.bar/chat.php sl ...
- JupyterNotebook开发介绍
简单介绍 核心目录在notebook下面,主页面在tempaltes目录下的notebook.html文件,没有用到传统的前端开发技术,还是jquery之类的前端,而且用了非常多的类库,开发环境的搭建 ...
- yolov5学习遇到的困难
本文观看目标检测 YOLOv5 开源代码项目调试与讲解实战[土堆 x 布尔艺数]_哔哩哔哩_bilibili视频来部署yolov5环境. 问题1:pycocotools工具包安装问题,参照视频2解决W ...