如何将textarea的内容设置为使用useEffect之前保存的内容

问题描述

我正在尝试使用React做一个记事本。 我想在文本区域中输入文本并保存。 重新打开页面时,我希望保存的文本保留在文本区域中。

我正在尝试使用react-hook-form,但是我陷入useEffect函数中。 我想在useEffect函数中设置textarea

document.getElementById("memoTextarea").value = memo; 

但这行给我一个错误

反正还有替换语句吗?

下面是我的代码

import { IonPage,IonContent,IonHeader,IonToolbar,IonTitle,IonItem,IonItemDivider,IonTextarea,IonButton,IonCard,IonLabel,IonSegment,IonSegmentButton} from '@ionic/react';
import React,{ memo,useEffect,useState } from 'react';
import { useForm } from 'react-hook-form';
import './Main.scss';


const Main: React.FC = () => {
    const { handleSubmit,register } = useForm();
    const onSubmit = (memo: any) =>  console.log(memo);
    
    useEffect(() => {
        let x = document.getElementById("memoTextarea");
        x = memo;
    },[memo]);

    return (

        <IonPage className="MainPage">
            <IonHeader>
                <IonToolbar>
                    <IonTitle>Memo pad</IonTitle>
                </IonToolbar>
            </IonHeader>
            <IonContent fullscreen>
                <IonCard>
                    <form className="memo" onSubmit={handleSubmit(onSubmit)}>
                        <IonItemDivider><IonLabel>Memo</IonLabel></IonItemDivider>          
                        <IonItem>
                            <IonTextarea id="memoTextarea" name="memoTextarea" rows={28} ref={r => register(r)} />
                        </IonItem>
                        <IonButton type="submit" fill="solid">Save</IonButton>
                    </form>
                </IonCard>
            </IonContent>
        </IonPage>)
}

export default Main;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...