157得票7回答
使用React hooks处理输入

我发现使用hooks处理用户文本输入的方法有几种。哪种方式更可取或更适当?你会选择哪种方式? 1)处理输入的最简单的钩子,但是你要处理的字段越多,你就需要编写重复的代码越多。const [username, setUsername] = useState(''); const [passwo...

156得票10回答
如何使用useEffect钩子注册事件?

我正在跟随 Udemy 课程学习如何使用 hooks 注册事件,教练提供了以下代码: const [userText, setUserText] = useState(''); const handleUserKeyPress = event => { const { k...

153得票2回答
如何使用useContext改变上下文的值?

使用 React 16.8+ 的 useContext 钩子可以很好地工作。你可以创建一个组件,使用该钩子,并利用上下文值而不会出现任何问题。 我不确定的是如何应用更改到上下文提供程序值中。 1)useContext 钩子是否严格是消费上下文值的一种方式? 2)是否有一种推荐的方式,使用...

147得票11回答
React:useState还是useRef?

我正在阅读有关React useState()和useRef()的内容,位于“Hooks FAQ”,有些用例似乎可以同时使用useRef和useState解决,我不确定哪种方式才是正确的。 从“关于useRef()的FAQ”中得知: “useRef() Hook不仅适用于DOM refs。‘...

143得票6回答
使用React Hooks在状态更新时执行异步代码

我有类似这样的东西:const [loading, setLoading] = useState(false); ... setLoading(true); doSomething(); // <--- when here, loading is still false. 设置状态...

142得票28回答
如何在React Hook中使用节流或防抖?

我正在尝试在函数组件中使用来自lodash的throttle方法,例如:const App = () => { const [value, setValue] = useState(0) useEffect(throttle(() => console.log(value)...

139得票10回答
未捕获的不变式违规:渲染比上次渲染更多的钩子。

我有一个组件,看起来像这样(非常简化的版本): const component = (props: PropTypes) => { const [allResultsVisible, setAllResultsVisible] = useState(false); ...

139得票6回答
如何解决在testing-library-react中出现的“update was not wrapped in act()”警告?

我正在使用一个简单的组件进行副作用操作。我的测试通过了,但是我收到了警告:“警告:在测试中对Hello的更新没有包装在act(...)中。” 我也不确定是否使用waitForElement是编写这个测试的最佳方式。 我的组件 export default function Hello()...

136得票6回答
何时使用useCallback、useMemo和useEffect?

useCallback、useMemo和useEffect有什么主要区别? 请给出使用它们的示例。

136得票12回答
如何使用useEffect()更改React-Hook-Form中的defaultValue?

我正在使用React-Hook-Form创建页面,用于更新用户个人数据。一旦页面加载完成,我使用useEffect来获取用户当前的个人数据,并将其设置为表单的默认值。 我将获取到的值放入<Controller />的defaultValue中。 然而,在文本框中并没有显示默认值。...