反应 useEffect 以保存 textarea 文本

React useEffect to save textarea text

我正在尝试制作一个记事本,用户可以在文本区域中书写并保存。 当页面打开时,我希望相同的文本保留在文本区域中。

我不想使用 onChange 事件,因为它会随每次输入一起呈现 所以我正在尝试使用 onSubmituseEffect.

我是 React 新手,正在尝试理解 hooks。但是看了所有的文档还是一头雾水

我正在使用 Ionic 框架,下面是我的代码,

<IonCard>
       <form className="memo" onSubmit={handleSubmit(text)}>
             <IonItemDivider><IonLabel>관리자용 메모판</IonLabel></IonItemDivider>          
             <IonItem>
                  <IonTextarea id="memoTextarea" rows={28} value={text} name="memoTextarea" ref={register({})} ></IonTextarea>
             </IonItem>
             <IonButton type="submit" fill="solid">저장</IonButton>
       </form>
</IonCard>

任何人都可以帮助我,我将如何实现 useEffect 代码?

useEffect(()=>{
      

}, []);

我在里面放了什么 handleSubmit()

默认使用非受控组件。 Uncontrolled 意味着您不必自己控制状态,组件会为您处理它(在本例中为 IonTextarea)。这也意味着您的父组件没有 re-render 因为它不必反映依赖状态的变化,因为它没有任何变化。

您可以通过初始化输入组件中的值来确保该组件不可控。您可以通过登录 render 方法来确认您的组件没有 re-render。

<IonTextarea
  id="memoTextarea"
  rows={28}
  // comment the following line will make the component uncontrollable
  // and your component never re-renders when you type
  // value={text}
  name="memoTextarea"
  ref={r => register(r)}
></IonTextarea>

现场演示