我正在开发使用Meteor和React作为视图引擎的应用程序

考虑下图:

当触发C4按钮单击事件时,我需要更改C2组件状态。由于他们没有直接关系,因此我无法直接从C4进入C2状态。

另一个示例是从Component提交表单并获取在另一个Component中声明的数据(输入字段的值)。

我知道可以通过一些技巧来解决此问题(例如,流星会话,通过每个组件传递数据,基于通量的Action / Dispatcher)。

Reactdocs建议使用事件/订阅系统(通量是一种可能的解决方案,但通量不止此…)在组件之间进行通信

Redux是另一种可能性(我担心这样一个事实,对于大型应用程序,如果我有很多动作,则组合归约器功能将爆炸,并且还担心缺少特定于动作的订阅系统-

到目前为止我知道在调度操作时将执行所有侦听器-Redux中的新用户也许我错了)

Flux或Redux是有效的模式,可以满足比我更大的需求,我已经进行过Meteor这类工作。我唯一需要的是访问另一个内部的组件状态。

我需要具有大量组件视图的中型/大型应用程序的可伸缩解决方案

解决该问题的“正确”方法是什么?

更新:

最近我给了redux一个机会,它似乎可以完成工作(它确实很棒并且得到了很好的支持),因此,如果您在相同的情况下,请检查React +Redux:提交多组件表单

react 组件怎么公用_在React中的组件之间共享数据相关推荐

  1. react 组件怎么公用_用 react 做一个跟随组件的 tooltip

    定位的难题 你可能听说国很多关于定位型组件种类.名词:popup, tooltip, popover, overlay...(后面将统称为 overlay).这些都是定位型组件,当你需要触发显示它们的 ...

  2. 2、组件注册-@Configuration@Bean给容器中注册组件

    2.组件注册-@Configuration&@Bean给容器中注册组件 2.1 创建maven项目 spring-annotation pom.xml文件添加 spring-context 依 ...

  3. vue 中 provide 和 inject 共享数据

    project 和 inject 是 vue 2.2.0 新增内容.官网说明 >> https://cn.vuejs.org/v2/api/#provide-inject 1. 概述 后代 ...

  4. Android应用程序组件Content Provider在应用程序之间共享数据的原理分析(1)

             在Android系统中,不同的应用程序是不能直接读写对方的数据文件的,如果它们想共享数据的话,只能通过Content Provider组件来实现.那么,Content Provide ...

  5. vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据

    vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据 在vue项目中组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的话,有必要考虑引入vuex来管理这些凌乱的状态,今 ...

  6. docker 容器共享数据_如何在Docker容器之间共享数据

    docker 容器共享数据 介绍 (Introduction) Docker is a popular containerization tool used to provide software a ...

  7. 算法:取出一包协议中所有“0x7E”之间的数据

    算法:取出一包协议中所有"0x7E"之间的数据 while(i < rx_buf_data.rlen) {if(rx_buf_data.rbuf[i] == 0x7E){te ...

  8. 组件cdn引入_高性能 React UI组件库SHINEOUT

    今天给大家推荐一款超不错的React.js桌面端UI组件库Shineout. shineout 基于react.js构建的轻量级UI组件库.包含表单元素.数据表.通知提示.布局选项.导航等多种组件. ...

  9. 前段react技术架构图_基于 React 的可视化编辑平台实践

    前言 前段时间发在朋友圈的一句话:各种自主搭建的平台,想起好多年各种DIY博客,行业门户网站,本质不变,变的是实现的手段了. 正文从这开始-- 本文主要介绍了基于 React 构建可视化编辑平台的实践 ...

最新文章

  1. 图像超分辨率算法:CVPR2020
  2. 高通首次推出AI引擎 打包所有软硬件算力
  3. CPLEX在Linux上的安装与配置
  4. 带你实现开发者头条(二) 实现左滑菜单
  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(2)-easyui构建前端页面框架[附源码]
  6. 把数据或是numpy数据转换为keras张量
  7. html中md5如何使用方法,html中使用js進行登錄md5加密提交並重定向新頁面
  8. impdp oracle 只导入表结构_oracle数据库怎么导入dmp,只导入数据不导入表结构?...
  9. Zabbix监控Oracle 连接数
  10. Python标准库-string模块《未完待续》
  11. 在 .NET Framework Data Provider for Microsoft SQL Server Compact 3.5 中发生错误
  12. RGB色彩模式下的色值与整数之间的互转方法
  13. win10没有wifi列表,显示不出可用WiFi
  14. intouch报表数据的获取
  15. python立体图形,python中如何画三维的图形?
  16. pytest入门_测试用例分类_@pytest.mark.smoke
  17. 5G 新物种开启新时代
  18. win8计算机无法安装打印机驱动,win8怎么安装打印机驱动
  19. Android消息提示框及CheckBox组件
  20. 低功率广域网(LPWAN)技术解析

热门文章

  1. Eclipse JaveEE版本
  2. 【李宏毅2020 ML/DL】P73 More about Anomaly Detection
  3. semver语义化版本号
  4. oracle gENT,Oracle 11g r2 新建空表不分配semgent
  5. mysql跳脱字符 单引号_MYSQL特殊字符(单引号,行尾斜杠)的处理
  6. oracle审计功能如何实现启动关闭功能
  7. ERROR 1064 (42000): You have an error in your SQL syntax
  8. c语言累积乘,C语言编程累积2
  9. 面试题:淘宝2011.9.21校园招聘会笔试题
  10. 论文笔记--跨媒体语义共享子空间学习理论与方法研究-2015