将功能组件与状态和(箭头)功能结合使用

时间:2020-03-09 16:02:25

标签: javascript reactjs

我学习了JavaScript和React的基础知识,今天我正在回顾我的React学习。令我惊讶的是,所有基于类的组件现在都可以使用了,而现在一切都变成了功能组件。这让我很困惑,因为:

我习惯于写作:

state = {
todos = [ {sometodo: content}, {sometodo: content}]
}

someFunction = (para) => {
do something
}

但是现在我显然不得不写:

function App() {

  const [todos, setTodos ] = useState([
      {id: 1, content: 'buy some milk'},
      {id: 2, content: 'play mario kart'}
  ]);

  const deleteTodo = (id) => {
    console.log(id);
  }

本质上,我不介意,因为我知道Reacts会进行创新。但是我想知道是否到处都抛出const是编写此代码的正确方法。老实说,如果我做对了,我只是需要一些确认?因为如果我在React中寻找arrowfunction,我得到的只是带有基于类的组件的旧页面。

哦,还有一个疑问:您现在是否只是将所有功能都做成功能组件?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

类组件仍然非常活跃并且正在使用中。随着Hooks的引入,功能组件最近变得越来越流行。 useState是一个钩子,可让您将功能组件变成有状态组件,而不必转换为类组件。因此,您可以使用功能组件来编写更简洁的内容。我个人仍然经常使用类组件,特别是对于更大,更强大的组件。

我看不到您写的内容有任何不正确之处。 (除了在第一行代码中应为state: [...],而不是state = [...]