首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过react props.children

问无法通过react props.children
EN

Stack Overflow用户
提问于 2021-11-11 02:43:49
回答 2查看 319关注 0票数 0

我用的是反应。当我将props.children传递给标头组件时,我会得到以下错误。

我认为这种类型是正确的,因为我正在传递反应。

我不知道为什么会发生错误。

代码语言:javascript
复制
error
react-dom.development.js?61bb:13231 Uncaught Error: Objects are not valid as a React child (found: object with keys {children}). If you meant to render a collection of children, use an array instead.
代码语言:javascript
复制
import React from 'react';
import styled from 'styled-components';

export const Header: React.FC = (children) => {
  return <Head>{children}</Head>;
};

const Head = styled.div`
  background: #8b8b8b;
`;
代码语言:javascript
复制
const Home = () => {
  return (
     <div>
      <Header>
        <span>home</span>
      </Header>
     <div>
  );
};


export default Home;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-11 02:48:08

您刚刚将您的props命名为children,请尝试:

代码语言:javascript
复制
export const Header: React.FC = ({children}) => {
  return <Head>{children}</Head>;
};
票数 1
EN

Stack Overflow用户

发布于 2021-11-11 03:00:14

让我们从销毁中退一步,因为这会让很多JS初学者感到困惑。

默认情况下,组件接收一个参数,该参数是一组属性,因此我们通常将其称为道具。我们可以从这个道具对象中获得以下特定属性:

代码语言:javascript
复制
export const Header = (props) => {
  console.log(props)
  return <Head>{props.children}</Head>;
};

然后,一旦您开始执行析构操作,您将注意到我们可以以更快、更干净的方式从我们的props对象中获取属性。

代码语言:javascript
复制
export const Header = ({ children }) => {
  console.log(children)
  return <Head>{children}</Head>;
};

交换条件是我们现在不能做props.something,我们需要在重组中加入一些东西.但我们的代码看起来更干净。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69922598

复制
相关文章

相似问题

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