【问题标题】:React Hooks - losing focus after typing one valueReact Hooks - 输入一个值后失去焦点
【发布时间】:2021-07-12 14:39:01
【问题描述】:

每次我输入和更改状态时,我的表单组件输入都会失去焦点,不知道为什么会失去焦点。

这是指向具有相同问题的沙盒的链接 https://codesandbox.io/s/quiet-dew-cf5wr?file=/src/App.js

【问题讨论】:

    标签: javascript reactjs react-hooks


    【解决方案1】:

    您是否尝试将 const MotionStack = motion(Stack); 放在 Form 函数之外?

    ...
    + const MotionStack = motion(Stack);
    
    function Form() {
    - const MotionStack = motion(Stack);
      ...
    }
    

    我认为这会影响生命周期,因为每次更新状态时都会重新生成。

    另一种选择是使用 React.useMemo,以防止重新生成 MotionStack。

    const MotionStack = React.useMemo(() => motion(Stack), []);
    

    【讨论】:

    【解决方案2】:

    这已经解决了,我的 Motion div 在组件内部,导致它在每次我输入时都会重新渲染。我只是把它移出了函数。

    【讨论】:

      猜你喜欢
      • 2020-04-30
      • 2020-06-03
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 2020-09-09
      • 1970-01-01
      • 2019-12-19
      相关资源
      最近更新 更多