【发布时间】:2021-01-14 20:18:33
【问题描述】:
任务是仅在输入更新和模糊时才发送分析数据。
在本机上,这可以通过使用 onchange 事件来实现,该事件仅在输入更新并失去焦点时触发事件。
React 的工作方式不同,因此 onChange 会在输入的每次更改时触发。 React 是否为此提供了开箱即用的解决方案?
代码很简单:
const App = () => {
const [ name, setName ] = useState( '' );
useEffect( () => {
/**
* Run this function only on Update + Blur.
* This will contain the logic to send analytics.
*/
} );
return (
<input type="text" value={ name } onChange={ ( e ) => setName( e.target.value ) } />
);
};
【问题讨论】:
-
为什么不直接使用
onBlur处理程序?这是一个属性,您可以提供在模糊时触发的输入。不需要useEffect或任何东西 -
@Jayce444,即使输入字段没有变化,onBlur 也会触发。这就是为什么我强调变化+模糊。
标签: javascript reactjs