首页 > 解决方案 > Reactjs:为什么这在类组件中不起作用但在功能组件中起作用

问题描述

为什么这在类组件中不起作用但在功能组件中起作用?

功能组件(工作)

export default function App() {
  const initCols = [
    {
      name: 'name',
    },
  ];
  const [cols, setCols] = useState(initCols); // works
}

类组件(不工作)

class testclass extends Component {
  const initCols = [
  {
    name: "name"
  }];
  state = {cols: initCols}   // donot work
}

标签: reactjs

解决方案


您不能在类组件中定义 const 值,因为它是一个,但您可以这样做:

 state = {
    cols: [
      {
        name: "name"
      }
    ]
  };

有什么理由必须将它放在 const 变量中吗?

您还可以在组件之前定义它,然后像这样使用它:

const initCols = [
{
    name: "name"
}];

class testclass extends Component {
 state = {cols: initCols} 

推荐阅读