Reactjs 反应-无法检索表单中文本字段的最新值

Reactjs 反应-无法检索表单中文本字段的最新值,reactjs,Reactjs,在我的React应用程序中,我在表单中有一个文本字段: const [url, setUrl] = useState(''); const handleUrlChange = useCallback((value) => setUrl(value), []); 然后是形式本身 return ( <Form onSubmit={handleSubmit}> <FormLayout> <TextField

在我的React应用程序中,我在表单中有一个文本字段:

const [url, setUrl] = useState('');
const handleUrlChange = useCallback((value) => setUrl(value), []);
然后是形式本身

return (
    <Form onSubmit={handleSubmit}>
      <FormLayout>

        <TextField
          value={url}
          label="Url"
          type="url"
          onChange={handleUrlChange}
        />
)

我想我没有理解一些基本的钩子吗?

尝试在
useCallback
输入数组中添加
url
变量:

const handleSubmit = useCallback(async (_event) => {
  console.log(url);
}, [url]);
对于空数组,memoïzed函数将永远不会被重新创建,因此
url
变量将始终返回第一个赋值的值(空字符串)


顺便说一下,您需要将函数中使用的所有变量放入数组中,这些变量在此函数之外声明。

谢谢-这很有效!但我不明白为什么-什么是
memoïze函数
?另外,这是否意味着我的每个表单字段都需要在该数组中提及?请阅读文档以了解useCallback的工作原理,您只需要将函数中使用的、不属于函数输入的变量(函数外部声明的变量)放入数组中
const handleSubmit = useCallback(async (_event) => {
  console.log(url);
}, [url]);