使用useState挂钩的功能组件是否会被视为有状态组件?

时间:2020-06-06 14:28:56

标签: javascript reactjs react-hooks

将是类型的组件

function App() {
  const [state,  setState] = React.useState()

  return (
     [...]
  )
}

根据定义是否被视为有状态组件?还是会成为无状态功能组件,因为它不会显式扩展React.Component并且不会通过传递super(props)来声明状态?

最好的问候, 康斯坦丁

2 个答案:

答案 0 :(得分:1)

每个具有状态会影响其行为(/渲染)的React组件或另一个组件的行为都可以视为“有状态组件”。因此对于问题中的函数-是的,App是有状态的。

答案 1 :(得分:1)

无状态组件是当一个组件纯粹是道具的结果,无状态时,该组件可以写为纯函数避免创建React组件实例。

const Component = ({ name }) => {
  return <>{name}</>;
};

因此,如果它不是无状态的,则它是有状态的组件。

function App() {
  const [state,setState] = React.useState()
  return <>{state}</>
}