首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >翻牌游戏

翻牌游戏
EN

Stack Overflow用户
提问于 2021-11-21 09:21:47
回答 1查看 38关注 0票数 0

最初,所有卡片都是正面朝下的。每当单击一张卡片时,它就会翻过来朝上,而任何以前朝上的卡片都会翻过来朝下。

实现React component Cards,它接受数量属性,它定义了应该有多少张卡。该组件应呈现为表元素。

例如,在单击Cards组件上的第二个单元格后,将呈现为:

代码语言:javascript
复制
<Cards amount={4} />

我无法使它工作,请帮帮我

代码语言:javascript
复制
const Cards = (props) => {
 const [cardFlipped, setCardFlipped] = React.useState(false);
  
  const handleClick = () => {
    setCardFlipped(!cardFlipped);
  }
  
  const cardSides = handleClick ? 'up' : 'down'
  
  return (
  <div>
  <table>
  <tbody>
    <tr>
      <td><button onClick={handleClick}>{cardSides}</button></td>
      <td><button onClick={handleClick}>{cardSides}</button></td>
      <td><button onClick={handleClick}>{cardSides}</button></td>
      <td><button onClick={handleClick}>{cardSides}</button></td>
    </tr>
  </tbody>
  </table>
  </div>
  )
};

document.body.innerHTML = "<div id='root'> </div>";
  
const rootElement = document.getElementById("root");
ReactDOM.render(<Cards amount={4} />, rootElement);

let row = document.getElementById("root").getElementsByTagName("tr")[0];
if(row) {
  let cell = row.getElementsByTagName("td")[1];
  if(cell) {
    cell.click();
  }
}
EN

回答 1

Stack Overflow用户

发布于 2021-11-21 14:09:06

这是我在CodeSandbox上生成的一个简单逻辑,用于翻转牌。请转到此链接here。你可以通过here查看它的工作情况。

解释:

  1. generateCardData:我添加了两个新方法,一个是"generateCardData“。此方法将生成{ id:"",value: false }形状的对象。我们之所以需要这样做,是因为你必须跟踪每一张带有ID的卡,以知道哪张卡被点击了。

  1. toggleCard:添加的另一个方法是"toggleCard“。此方法接收所单击的目标id,并且将卡片值反转为true.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70053224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档