首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在react/storybook中正确使用外部状态

如何在react/storybook中正确使用外部状态
EN

Stack Overflow用户
提问于 2017-10-18 08:51:38
回答 1查看 1.8K关注 0票数 3

我正在使用强大的storybook/react,但我遇到了一个问题。

我有很多依赖于道具(无状态)的组件,所以在我的真实应用程序中,我有保持状态的容器组件。

例如,我有一个<Toggle />,您可以看到here从它的父级获取值,并从它的属性调用onChange来更改它。我想把这个行为写进我的故事书中,但不知道怎么做:

代码语言:javascript
运行
AI代码解释
复制
storiesOf('Toggle', module).add('', () => (
  <Toggle name="toggle" checked={/*  what here ? */} onChange={/* what here ? */} />
))
EN

回答 1

Stack Overflow用户

发布于 2018-08-14 18:26:18

您可以使用一个故事书状态插件,就像我不久前发布的这个https://www.npmjs.com/package/@sambego/storybook-state

您的代码可能如下所示,其中checked属性将自动从存储区传递,而onChange方法将更新存储区。

代码语言:javascript
运行
AI代码解释
复制
const store = new Store({
    checked: true,
});

storiesOf('Toggle', module)
    .addDecorator(StateDecorator(store))
    .add('', () => (
        <Toggle name="toggle" onChange={() => store.set({checked: store.get('checked')})} />
    ))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46806221

复制
相关文章
复杂任务中,流程的解耦设计
在系统开发的过程中,必然存在耗时极高的动作,是基于请求响应模式无法解决的问题,通常会采用解耦的思维,并基于异步或者事件驱动的方式去调度整个流程的完整执行;
知了一笑
2022/06/14
1.2K0
复杂任务中,流程的解耦设计
Flutter 解耦
uncoupling使用了标记的方式,直接操作文件代码以实现代码物理方式的灵活插入与抽取,对工程没有任何侵入性,简单易用。
花落花相惜
2021/12/15
6060
装饰者解耦的秘诀
[译] 如何创建高度模块化的 Android 应用里面讲解了装饰者做组合的问题。更多的是使用方法,我们需要站在他的肩膀上去思考这个问题,并做知识的内化。
jerrypxiao
2020/04/08
9480
框架解耦神器 -- REventBus
在实际的项目开发中,经常会遇到业务与业务,组件与组件,业务与组件之间的通信,举个例子:当有烟雾传感器检测到烟雾超标时,需要打开排气扇排气,同时显示烟雾浓度显示到显示器中,供管理人员检视。处理这样的逻辑有几种策略。如下:
Rice加饭
2023/06/01
2920
框架解耦神器 -- REventBus
框架解耦神器 -- REventBus
在实际的项目开发中,经常会遇到业务与业务,组件与组件,业务与组件之间的通信,举个例子:当有烟雾传感器检测到烟雾超标时,需要打开排气扇排气,同时显示烟雾浓度显示到显示器中,供管理人员检视。处理这样的逻辑有几种策略。如下:
Rice加饭
2023/09/02
2170
框架解耦神器 -- REventBus
日常工作中的设计:解耦和封装
在一个嵌入式设备中,视频相关业务流程如下,DSP采集编码后,生成H264数据,然后对H264数据分别进行MP4、RTP、PS封装,封装后形成的数据进入对应的缓存队列。缓存队列是DSP和APP共享的,DSP写入,APP读取。
coderhuo
2020/08/02
1.2K0
SIGIR2023 | 推荐系统中的解耦对比学习
TLDR: 我们将意图解耦的思想与自动化的对比学习相结合,通过学习包含全局信号的解耦意图特征和自适应的图掩码增强模块,来提供有效的自监督信号,以提高推荐算法的性能。
张小磊
2023/08/22
1K0
SIGIR2023 | 推荐系统中的解耦对比学习
【角色】——分离开代码和权限需求,即实现代码和权限需求的解耦。
今天突然来了一个灵感,记录一下。以前总觉得说不清楚,看看这种表达方式是否可以说清。 两个原则:依赖接口编程,不要依赖实现编程;最小获知原则。 面向对象最重要的是什么?抽象。那么在权限这方面我们要如何抽
用户1174620
2018/02/26
1K0
【角色】——分离开代码和权限需求,即实现代码和权限需求的解耦。
巧用NULL模式解耦依赖
由于需求的变化,应用B需要库libM.a的能力,以便和服务M交互。为了复用和简化,通过类A间接提供,应用B不用修改代码,只需要重新编译即可获得新的能力,其它用到类A的应用也是如此。
一见
2018/09/30
5320
巧用NULL模式解耦依赖
使用IOC解耦React组件
除了DI外,另一种实现方式是Dependency Lookup(依赖查找),简称DL。
公众号@魔术师卡颂
2021/03/15
9270
解耦重构 Internet BGP SDN
高清视频直播和云计算的蓬勃发展,带来互联网流量持续高速增长,主流云公司的Internet出口带宽都已经达到Tbps级别。 鉴于网络的拥堵大部分发生在出口互联,Edge Peering Fabric的架构设计直接影响到终端客户的用户体验, 2017年Google/Facebook对外发布了两种不同的Edge 设计理念,本文试着以Google Espresso为主详解下一代Cloud Edge的架构,并简单介绍一下Facebook Edge Fabric。
SDNLAB
2018/10/24
2.1K0
解耦重构 Internet BGP SDN
产品经理 | 什么是解耦?
在理解解耦之前,我们先来理解耦合度。耦合度是软件工程领域的概念,是指模块之间的依赖程度。
产品的技术小课
2022/09/02
3.4K0
MultiVelo推断动态解耦的基因调控
单细胞多组学数据旨在相同细胞中捕获细胞多分子模式,提供了探索细胞表观基因组和转录组关系的机会。作者开发了MultiVelo,这是一种基因表达的机制模型。它纳入表观基因组数据的同时扩展了RNA速率框架。MultiVelo使用概率隐变量模型从单细胞数据估计染色质可及性和基因表达的转换时间和速率参数,提供表观基因组和转录组变化之间时间关系的定量总结。与仅从RNA估算的方法相比,结合染色质可及性数据显著提高了细胞命运预测的准确性。在来自大脑、皮肤和血细胞的单细胞多组学数据集上拟合MultiVelo揭示了两类不同的基因。该模型还确定了四种细胞状态——表观基因组和转录组耦合的两种状态和两种不同的解耦状态。MultiVelo推断的参数量化了基因占据四种状态的时间长度,根据转录组和表观基因组之间的耦合程度对基因进行排序。最后,作者确定了转录因子表达和结合位点可及性之间以及疾病相关SNP可及性和连锁基因表达之间的时滞。
DrugAI
2022/01/13
7610
MultiVelo推断动态解耦的基因调控
编程思想 定义过滤的方式解耦
本文将会很少涉及 dotnet 的知识,主要讲用定义过滤的方式解除过程业务的耦合。在一些业务上,可以从业务层面或逻辑层面明显分为几层,每一层之前的数据相互依赖或处理顺序相互依赖,但逻辑都独立。此时如果将业务处理放在过程处理里面,将会让过程处理耦合具体业务。而定义过滤的方式为让过程逻辑只是搭建框架为主,具体业务通过注入过滤的形式加入到处理
林德熙
2020/03/12
5360
业务解耦-事件监听模式的使用
事件监听机制有点类似于sub/pub模式,不过这个技术点也仅适用于单体应用的范围,分布式应用还是老老实实使用消息队列来进行吧。
码农王同学
2020/03/25
4460
模块解耦的三种方案
URLRouter:将不同的模块定义成为不同的URL,通过URL的形式进行跨模块调用。
Helloted
2022/06/08
1.4K0
模块解耦的三种方案
模块化与解耦(转)
本文主要讲述了在iOS开发过程中,模块化工程架构的一种组织方式,本文主要讲述基于cocoapods来做模块化的方案,详细讲述了iOS开发怎么进行模块划分的内容,主要会在以下方面做阐述:
VV木公子
2018/06/05
7.6K0
软硬解耦,大道至简
"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。 网络平台部以构建敏捷、弹性、低成本的业界领先海量互联网云计算服务平台,为支撑腾讯公司业务持续发展,为业务建立竞争优势、构建行业健康生态而持续贡献价值! 光信息网络已经成为国家重要的信息基础设施,奠定了是智慧城市的发展基础,也支撑着下一代互联网、移动互联网、物联网、云计算和大
鹅厂网事
2018/06/11
1.4K0
给JDBC换个装——连接解耦
原始JDBC连接 package jdbc; import org.junit.jupiter.api.Test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class JDBCUtils { public static Connection connection; priv
泰斗贤若如
2019/08/01
4660
给JDBC换个装——连接解耦
点击加载更多

相似问题

spring-安全解耦角色和权限

11

解耦OOP

69

DbContext解耦

20

解耦模式

13

解耦结构

29
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文