Javascript ReactJS使用钩子将函数分配给变量?

Javascript ReactJS使用钩子将函数分配给变量?,javascript,reactjs,Javascript,Reactjs,使用react-setState钩子将箭头函数指定给变量的语法是什么 如果我尝试类似的方法,函数将被称为返回赋值: const [func, setFunc] = useState(() => {}); 这里func将得到“未定义”,因为该箭头函数没有返回任何内容 我之所以需要它,是因为我需要从父元素上的事件调用在子元素上实现的函数,所以也许我可以将一个空函数传递给子元素,并在装入子元素时使用setFunc更新func的实现,我需要这样做,因为我必须在父元素的事件上更新子元素的状态

使用react-setState钩子将箭头函数指定给变量的语法是什么

如果我尝试类似的方法,函数将被称为返回赋值:

  const [func, setFunc] = useState(() => {});
这里func将得到“未定义”,因为该箭头函数没有返回任何内容

我之所以需要它,是因为我需要从父元素上的事件调用在子元素上实现的函数,所以也许我可以将一个空函数传递给子元素,并在装入子元素时使用setFunc更新func的实现,我需要这样做,因为我必须在父元素的事件上更新子元素的状态

大概是这样的:

它几乎可以工作了-我只需要一点帮助。

创建一个const函数,它返回一个函数

创建一个const函数,它返回一个函数


如果将函数传递到useState,react将在第一次渲染时调用该函数,并将其返回值用作状态的初始值。如果初始值的计算成本很高,则此功能对性能非常有用

这会让你的生活变得更复杂,但你仍然可以做你想做的事。您将只使用一个返回函数的函数。第二个函数成为初始值

const [func, setFunc] = useState(() => () => {});
设置函数时,还需要做一些额外的工作,因为当您将函数传递给setFunc时,react将调用该函数并传递上一个值。因此,与前面一样,您需要一个返回函数的函数,后一个函数是新值

props.setFunc((previous) => {
  return () => {
    lines.push(lines.length);
    console.log("'lines' updated!");
  }
})

如果将函数传递到useState,react将在第一次渲染时调用该函数,并将其返回值用作状态的初始值。如果初始值的计算成本很高,则此功能对性能非常有用

这会让你的生活变得更复杂,但你仍然可以做你想做的事。您将只使用一个返回函数的函数。第二个函数成为初始值

const [func, setFunc] = useState(() => () => {});
设置函数时,还需要做一些额外的工作,因为当您将函数传递给setFunc时,react将调用该函数并传递上一个值。因此,与前面一样,您需要一个返回函数的函数,后一个函数是新值

props.setFunc((previous) => {
  return () => {
    lines.push(lines.length);
    console.log("'lines' updated!");
  }
})
是初始状态为返回值的原因。你已经看到了它在做什么,但我想说出它的意图。是初始状态为返回值的原因。你已经看到了它在做什么,但我想说出它的意图。