在定义它们之前,ReactJS如何让我使用const函数?

问题描述

我很好奇在ReactJS中定义值之前如何使用它?这是一个示例:

function Counterapp() {
  const [counter,setCounter] = useState(0);

  const increaseValueTwice = () => {
    increaseValue() //NOT DEFINED AT THIS POINT
    increaseValue() //NOT DEFINED AT THIS POINT
  }

  const increaseValue = () => {
    setCounter(prevCounter => prevCounter + 1);
  };

  return (
    <div>
      {counter}
      <br / >
      <button onClick={increaseValue}>Increase value</button>
      <br / >
      <button onClick={increaseValueTwice}>Increase value twice</button>
    </div>
  );
}

increaseValue()在定义之前就已使用,但是没有问题。我观看了2019年的一些教程,而该教程中的人在尝试执行此操作时遇到了错误,尽管它不应该对我有用?

解决方法

只要在变量声明之前未执行该代码,我们甚至可以在声明它们之前在代码中引用它们。

在函数运行时(响应click事件),已经声明了const。

,

我认为您正在寻找的概念是

Hoisting

基本上,javascript解释器首先读取给定范围的所有变量声明,然后开始调用函数。在您的情况下,这更加复杂,因为函数之间会相互调用,但仍然适用。

尽管这是特定于javascript的逻辑,所以如果您来自其他语言,则可能是新事物。

通过浏览器控制台或Node.js运行普通JS代码,您应该能够复制这个确切的东西。它不是特定的反应。