微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

onChange 事件处理程序的刷新问题

如何解决onChange 事件处理程序的刷新问题

我有一个带有 onChange 事件处理程序的输入,每次我尝试在其中输入一些字符时都会刷新屏幕。我想知道你们中是否有人可以帮我解决这个问题。

这是我的代码

const HeaderUser: React.FC<TabWrapper> = () => {
const [drawerEmpreendimentosVisible,setDrawerEmpreendimentosVisible] = useState(false);
const intl = useIntl().formatMessage;
const [currentEmpreendimento] = useLocalStorage().createState('currentEmpreendimento');

const [displayRoadmapScreen,setdisplayRoadmapScreen] = useState(false)
const [displayRegisterScreen,setdisplayRegisterScreen] = useState(false);
const [inspector,setInspector] = useState('');
const [roadmap,setRoadmap] = useState('');


const RegisterScreen = () => {

    const handleOk = () => {
        setdisplayRegisterScreen(false);
    };

    const handleCancel = () => {
        setdisplayRegisterScreen(false);
    };


    return (
        <div>
           <Modal
                title="Cadastrar novo roteiro"
                visible={displayRegisterScreen}
               onOk={handleOk}
                onCancel={handleCancel}>
                <b>Roteiro:</b>
                <br />
        //Refreshing issue  <Input type="text"  placeholder="Roteiro"  onChange={e => 
                  setRoadmap(e.target.value)} /><br />
                <b>Inspetor:</b>
                <br />
                <Input type="text" name="inspector" placeholder="Inspetor"  onChange={(e) => console.log(e.target.value)} />
            </Modal>
        </div>
    )
};        

解决方法

可能是因为您在 RegisterScreen 组件之外定义了您的状态? 尝试在组件中定义它。

const RegisterScreen = () => {
    
    const [roadmap,setRoadmap] = useState('');
    //rest of code...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。