简体   繁体   English

如何更改 state onClick?

[英]How do I change state onClick?

How do I set this function to null after setGenreObject state has successfully run?如何在 setGenreObject state 成功运行后将此 function 设置为 null ? What I want is for the entire CategoryContainer to disappear onClick.我想要的是整个 CategoryContainer 消失 onClick。

    <CardContainer>
{Object.keys(ClientPdfs).map((ageName, i) => (
                <Card
                  onClick={() => setGenreObject(ClientPdfs[ageName])}
                  key={i}>
                <CategoryContainer>
                  <Overlay />
                  <CategoryPhoto src={ClientPdfs[ageName].image} alt="ages"/>
                  <CategoryName>
                    {ClientPdfs[ageName].name}
                  </CategoryName>
                  </CategoryContainer>
                </Card>
              ))}
            </CardContainer>

Create a variable setting it to null.创建一个变量,将其设置为 null。 Let's call it card.姑且称之为卡吧。

so: let card = null所以: let card = null

then we can do some kind of check, eg:然后我们可以进行某种检查,例如:

if (!state.hasRun) {
  card = <Card>...</Card>
}

And then you return {card} as the result inside map function.然后在 map function 中返回{card}作为结果。

You can wrap your CategoryContainer inside a bracket and execute it when there is a value present in the genreObject.您可以将 CategoryContainer 包装在一个括号内,并在genreObject 中存在值时执行它。 Take a look at below example.看看下面的例子。

<CardContainer>
{Object.keys(ClientPdfs).map((ageName, i) => (
    <Card
      onClick={() => setGenreObject(ClientPdfs[ageName])}
      key={i}>
    {!genreObject && (
      <CategoryContainer>
      <Overlay />
      <CategoryPhoto src={ClientPdfs[ageName].image} alt="ages"/>
      <CategoryName>
        {ClientPdfs[ageName].name}
      </CategoryName>
      </CategoryContainer>
    )}
    </Card>
  ))}
</CardContainer>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM