社区首页 >问答首页 >切换不同状态的属性

切换不同状态的属性
EN

Stack Overflow用户
提问于 2019-09-21 04:30:37
回答 3查看 31关注 0票数 0

这里有个小问题。我有3个div类,其中包含图像,每次用户按下其中一个图像(实际上是div)时,我希望切换每个图像的state属性。状态如下:

代码语言:javascript
代码运行次数:0
复制
  constructor(props) {
    super(props);

    this.state = {
      img_1: 0,
      img_2: 0,
      img_3: 0
    };
  }

我想要有一个单一的处理函数,可以切换所有不同的图像,我有。下面是div代码(每个图像都是一样的):

代码语言:javascript
代码运行次数:0
复制
<div className="pics" onClick={(e) => this.handlePic(e)}>
  <h2>First picture</h2>
  <img alt="" src={pic1} className="tier2"/>
</div>

而handle函数目前是空的,因为我不知道如何将this.state.img_1的名称传递给它。当然,值应该在0和1之间切换,但我希望能够使用一个函数来切换所有3个图像。我不确定我的问题是否有意义,如果你想让我解释一下我的情况,请告诉我。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-09-21 05:36:19

你有3个不同的div,在你的每个div中定义一个onClick={()=>this.myhandle(nameofpic)} (你可以在这里硬编码nameofpic,例如在每个div中放一个像"img1","img2“这样的名字……而不是nameofpic),然后在你的myhandle()中放入你的of,如下所示:

代码语言:javascript
代码运行次数:0
复制
myhandle(nameofpic){
if(nameofpic==="img_1")
 {this.setState({img_1:"valuechange"})
  } 
if(nameofpic==="img_2")
 {this.setState({img_2:"valuechange"})
 }
if(nameofpic==="img_3")
 {this.setState({img_3:"valuechange"})
 }}

我希望你明白这一点,并为你工作。

票数 1
EN

Stack Overflow用户

发布于 2019-09-21 04:40:14

您应该为Image创建一个单独的组件,它将处理它自己的状态。通过这种方式,您可以管理任意数量的图像,而不仅仅是3个。

代码语言:javascript
代码运行次数:0
复制
function Image({url}) {
const [overlay, setOverlay] = useState(false);

const toggleState = () => {
setOverlay(!overlay)
}

return <img src={url} alt={url} onClick={toggleState} />
}

在这里,overlay可以是任何东西。

现在您可以多次使用此组件,并且它将拥有自己的状态管理。

票数 0
EN

Stack Overflow用户

发布于 2019-09-21 05:56:07

如果你没有使用钩子,这是一个解决方案。

在render方法中(在处理程序方法的参数中传递静态字符串):

代码语言:javascript
代码运行次数:0
复制
<div className="pics" onClick={e => this.handlePic('img1')}>
    <h2>First picture</h2>
    <img alt="" src={pic1} className="tier2" />
</div>

你的处理程序(设置动态密钥):

代码语言:javascript
代码运行次数:0
复制
handlePic = key => {
    this.setState(prevState => ({ [key]: !prevState[key] })); // This will toggle 0 or 1 simultaneously.
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58037296

复制
相关文章
facebook营销工具
Facebook一直以来都是我们做外贸的一个主要流量来源,很多人不知道的是,我们在平时也可以借助第三工具来帮助我们进行营销。下面一米软件为大家整理的几款常用facebook营销工具,希望能对大家有所帮助。
用户3736847
2018/10/30
1.5K0
facebook营销工具
file指定路径_目标实现的策略与路径
通常设置android:exported="false",以保证权限最小化。 android:resource="@xml/filepath_data"中,filepath_data.xml文件是配置哪些路径是可以通过FileProvider访问的。 meta-data是以键值对的方式保存(key-value pairs)。android.support.FILE_PROVIDER_PATHS作为meta-data的键(key),@xml/filepath_data作为meta-data的值(value)。在FileProvider中会读取meta-data中的android.support.FILE_PROVIDER_PATHS对应的值。
全栈程序员站长
2022/11/17
1.3K0
Facebook可以救命吗?
平安信使    脸书直播 产生洞见、查明问题、提出方案、鼓励新的领导方式、推出商业模式
邱翔Alex
2018/05/21
1.4K0
【营销101】Facebook图谱搜索应用指南
译者:李晓艳 本文长度为5511字,预估阅读时间10分钟。 摘要:作者通过详尽的介绍,手把手教你玩转Facebook图谱搜索 社交搜索很长时间以来都被誉为“下一个大牛”,因为给人类创造搜索引擎
iCDO互联网数据官
2018/03/05
1.4K0
【营销101】Facebook图谱搜索应用指南
Facebook Graph API(1)—介绍
Facebook提供三种low-level HTTP APIS去访问Facebook Graph. 1.Graph API 2.FQL(过期) 3.Legacy REST API(过期) 为什么要学习Graph API 1.Open Graph可以让广大用户发现你的应用或者业务 2.可以加入更多社交内容,你的朋友可能会对你的内容感兴趣 3.使用Facebook Login统一登录,可以减少投入,并且可以跨不同设备。 The Graph API Explorer API Explorer是一个低级工具,使用它
八哥
2018/01/18
2K0
Facebook Graph API(1)—介绍
通过网站SEO运营达到吸粉营销的目标(建个网站能干什么网站)网站可以做营销吗
真正懂网站价值的人都在几年前就开始吸粉了,而且粉丝很精准有效,因为网站是共存在搜索引擎中的,而粉丝大多数都是精准搜索而来,所以在网站行业存在很长时间用seo运营吸粉卖平台账号和导粉的买卖,这其实也给不懂网站价值的人和公司一个很好的信号,就是建立网站做粉丝营销。
文曦
2022/06/15
1.6K0
通过网站SEO运营达到吸粉营销的目标(建个网站能干什么网站)网站可以做营销吗
给我5分钟,带你玩转Facebook营销!
译者:Amber 审校:朱玉雪 本文长度为1677字,预估阅读时间5分钟。 摘要:本文通过介绍本地企业认识到Facebook在信息传播上的重要作用,并通过其进行营销活动。 Facebook作为社交网络平台无需介绍。拥有81%的北美成年人口的用户群体,Facebook的用户数量傲视Twitter, Pinterest, LinkedIn及其它一众竞争对手。 正是因为Facebook无处不在,许多企业主相信一个活跃在Facebook上的公司形象对于企业或品牌在线上的成功至关重要。毫无疑问,这句话在很多情况下
iCDO互联网数据官
2018/03/05
9960
给我5分钟,带你玩转Facebook营销!
Facebook vs YouTube视频营销大战,到底哪家强?
译者:李晓艳 本文长度为3631字,预估阅读时间5分钟。 我们今天要向大家分享Facebook vs YouTube视频营销大战到底哪家强的一些观点。 近年来线上视频内容呈现有增无减的迹象。据Cisco Forecast(https://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/complete-white-paper-c11-481360.html)预测,到2017年视频将
iCDO互联网数据官
2018/03/05
1.9K0
Facebook vs YouTube视频营销大战,到底哪家强?
数字化营销前瞻:全域营销与营销技术
“5G+数字化”时代到来,与无数人生活和工作密切相关的商业体系被影响、推动着,发生着复杂的变化。 我们能否跳出传统意义上的营销逻辑,为中国互联网从业者提供崭新的视角——从变现增长的角度看待企业的商业化发展,从技术的角度赋能营销? 为了回答以上问题,我们特地邀请到互联网全域营销资深专家聂风老师和Martech行业布道者冯祺老师为大家直播分享“数字化营销前瞻——全域营销与营销技术”,欢迎大家关注学习。 分享主题:数字化营销前瞻——全域营销与营销技术 嘉宾简介: 聂风,阿里巴巴、淘宝网早期营销人、去哪儿前首席营
博文视点Broadview
2023/05/19
1.4K0
数字化营销前瞻:全域营销与营销技术
Scrapy:多个spider时指定pipeline
导读 Scrapy存在多个爬虫的时候如何指定对应的管道呢? 1、在 pipeline 里判断爬虫 settings.py ITEM_PIPELINES = { "xxxx.pipelines.MyPipeline": 300, } OneSpider.py class OneSpider(scrapy.spiders.Spider): name = "one" TwoSpider.py class TwoSpider(scrapy.spiders.Spider): name = "t
新码农
2020/04/17
2.2K0
Scrapy:多个spider时指定pipeline
营销4.0时代,数据、技术如何驱动品牌营销增长?
在互联网迅猛发展的大背景下,PC端、手机端的流量增长、转移,消费者的阅读习惯、行为路径以及接收信息的渠道和方式等等都发生了巨变。与此同时,科技的进步也引领着整个行业与社会进步,催生新的商业生态,并迸发出新的火花。
盈鱼MA
2019/12/24
1.6K0
营销4.0时代,数据、技术如何驱动品牌营销增长?
Scrapy:多个item时指定pipeline
有时,为了数据的干净清爽,我们可以定义多个item,不同的item存储不同的数据,避免数据污染。但是在pipeline对item进行操作的时候就要加上判断。
新码农
2020/04/17
2.7K0
Scrapy:多个item时指定pipeline
ts结构赋值时指定类型
我们在typescript中使用变量结构时如果需要指定类型,可以这样写: const { a, b, c }: { a: any; b: string; c: { cname: any; cid: any; } } = obj; 但一般还是定义接口 interface IObj { a: any; b: string; c: IC; } interface IC { cname: any; cid: any; } const { a, b, c }: IObj = o
阿超
2022/08/21
1.2K0
照相时眨眼了怎么办?Facebook研究者创建AI系统,可以生成“假眼”
你可能在照相时遇到以下的情况:闪光灯闪烁,你控制不住眨了眼,照片上也许就显示出你闭眼的样子。Facebook的研究人员创建了一个人工智能系统,该系统可以用计算机生成的图像来代替闭合的眼睛。
AiTechYun
2018/07/27
8760
照相时眨眼了怎么办?Facebook研究者创建AI系统,可以生成“假眼”
认知系列2:认知半径认知系列2:认知半径
美国气象学家J·马歇尔·谢博德(J. Marshall Shepherd)就在TED的舞台上,提出一个“认知半径”原理,把人的认知范围比作一个圆圈,认知半径越大,人的认知范围也就越广,也就是对事物的认识更清晰,掌握事物的本质更深入。
黄规速
2022/04/14
5810
认知系列2:认知半径认知系列2:认知半径
SaaS营销分析:SaaS厂商目标客户定位模型
现在的SaaS市场到了要从营销突破的关键点了。从今天开始,我想对SaaS厂商该如何营销谈些我的体会。当然,这只是分享我的看法,希望对我的朋友有所借鉴。这也有可能存在很多不完善的地方,希望朋友们指出,并
静一
2018/03/22
1.7K0
SaaS营销分析:SaaS厂商目标客户定位模型
Python 3.12 目标:还可以更快!
按照发布计划,Python 3.11.0 将于 2022 年 10 月 24 日发布。
Python猫
2022/10/06
8570
Iframe 标签显示目标网页的指定区域
有些时候我们并不需要显示 iframe 标签属性 src 指定的目标网页的所有内容,往往只需要显示某一特定区域。原理很简单,但是像站长这种野路子出身的可能真不知道,主要用到了 position 的定位 x,y 值
Savalone
2020/01/06
2.8K0
SpringBoot启动时执行指定任务
@EventListener({ApplicationReadyEvent.class})
乐心湖
2020/07/31
6980
API 治理的目标是什么?
建立有效的API治理需要正确理解其目标,但它究竟是什么呢?是定义标准或规则并应用它们吗?都不是。虽然这些是治理的一个重要手段,但这并非其最终目的。为了揭示API治理的真正目标,让我们探讨一下在适当地制定标准后能得到什么。
API 小达人
2023/07/18
2810

相似问题

Folium将叠加(.geojson)添加到地图

10

将外部geojson添加到传单层

11

在Mapbox-GL-JS中从具有多种类型的GeoJSON文件渲染FeatureCollection

11

将弹出窗口添加到geojson叶折线

118

将geoJSON特性属性添加到mapbox弹出窗口

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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