reactjs - React - 单击时显示 Div
问题描述
当我单击另一个组件时,我想显示一个组件。我在开始时将值“showPanelInfo”设置为 false,当我单击“CharacterCard”组件时,我尝试将 setShowPanelInfo 的值更改为 true,但它不起作用。
import React from "react";
import { useQuery, gql } from "@apollo/client";
import styled from "styled-components";
import { QueryResult } from "../components";
import CharacterCard from "../containers/characters/character-card";
import CharacterPanelCard from "../components/characters/character-panel-card";
import CreatePlanetModal from "../components/characters/create-character-modal";
const Characters = () => {
const { loading, error, data } = useQuery(GET_CHARACTERS);
// SHOW HIDE PLANET PANEL
const [showPanelInfo, setShowPanelInfo] = React.useState(false);
const displayPanelInfo = () => setShowPanelInfo(true);
const hidePanelInfo = () => setShowPanelInfo(false);
// CREATE ID IN STATE - DEFAULT 1
const [characterId, setCharacterId] = React.useState(1);
return (
<PageContainer>
<ResultContainer>
<QueryResult error={error} loading={loading} data={data}>
{/* Grid of characters */}
{data?.characters?.map((character) => (
<CharacterCard
key={`${character.id}`}
character={character}
onClick={() => {
displayPanelInfo();
setCharacterId(character.id);
}}
/>
))}
</QueryResult>
{/* Panel Container */}
{showPanelInfo ? (
<CharacterPanelCard characterId={characterId} />
) : null}
</PageContainer>
);
};
export default Characters;
有任何想法吗?
谢谢!
解决方案
推荐阅读
- javascript - 如何使用 TypeScript/Angular 自定义我的 XLSX?
- momentjs - Moment.js:按需加载语言环境
- oracle-apex - 将交互式网格导出到 Oracle APEX 中的 excel
- typescript - TypeScript 箭头函数双返回
- javascript - 谷歌位置 API,角度 4
- node.js - 子目录中的 Mocha 测试脚本在本地执行,但在 CircleCI 中被忽略
- java - 为什么我在尝试使用参数化泛型获取查询时得到空列表
- openrefine - 在 openrefine 中替换“\”
- python - 根据比较将单元格与数组和打印行进行比较
- angular - 如何防止角度6中的负/负输入值