TypeScript:将道具传递给孩子

您好,我对如何将道具传递给孩子有疑问:

interface RootState {
  sideIsOpen: boolean;
  isOpen: boolean;
}

const SideNavigation: React.FC = () => {
  // const { sideIsOpen } = useSelector((RootState) => RootState.toggleSide);
  const selectIsOpen = (state: RootState) => state.sideIsOpen;
  const sideIsOpen = useSelector(selectIsOpen);
  return (
    <SideNav>
      <LogoNavigation isOpen={sideIsOpen} />
    </SideNav>
  );
};

和我的孩子们:

const LogoNavigation: React.FC = (props) => {
  return (
    <LogoSide>
      <img src={Logo} alt="Logo Elo Ghost" />
    </LogoSide>
  );
};

我收到此错误:

类型'{isOpen:boolean; }'不可分配给type   'IntrinsicAttributes&{子代?:ReactNode; }'。属性“ isOpen”   类型'IntrinsicAttributes&{子代?:ReactNode;   }'。ts(2322)
评论
  • 叫我女王
    叫我女王 回复

    您需要声明LogoNavigation组件,使其接受isOpen属性。 为此,您可以定义一个接口或如下所示

    function LogoNavigation(props: { isOpen: boolean }) {
    
      return <div />;
    }