繁体   English   中英

类型 '(e: React.ChangeEvent ) => void' 不可分配给类型 'ChangeEventHandler '

Type '(e: React.ChangeEvent) => void' is not assignable to type 'ChangeEventHandler'

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

当我尝试在表单上的组件内调用我的setNewValue function 时(使用react-bootstrap ),出现以下错误

Type '(e: React.ChangeEvent<HTMLFormElement>) => void' is not assignable to type 'ChangeEventHandler<FormControlElement>'.

我像这样处理我的 function

import { useState } from 'react';
import Form from 'react-bootstrap/Form';
import { InventoryItemType } from '../../types/InventoryItemType';
import React from 'react';

export function InventoryItem({ cardID, inventoryItem }: { cardID: string, inventoryItem: InventoryItemType }) {
    const [value, setValue] = useState(inventoryItem != null ? inventoryItem.quantity : 0);
    const [valueChanged, setValueChanged] = useState(false);

    const setNewValue = (e: React.ChangeEvent<HTMLFormElement>) => {
        const value = e.currentTarget.value;
        if (value !== '') {
            const valueNumber = parseInt(value);
            if (!isNaN(valueNumber)) {
                setValue(valueNumber);
                setValueChanged(true);
            } else {
                setValue(inventoryItem != null ? inventoryItem.quantity : 0);
                setValueChanged(false);
            }
        } else {
            setValue(inventoryItem != null ? inventoryItem.quantity : 0);
            setValueChanged(false);
        }
    };

    return (
        <div className={'w-100'}>
            <div className={'d-flex w-100 justify-content-between align-items-center my-3'}>
                <Form onSubmit={setNewValue} className={'flex-shrink-10 mx-4'}>
                    <Form.Group className='mb-0' controlId='formBasicEmail'>
                        // Error appears in this line below
                        <Form.Control type='text' placeholder={value.toString()} onChange={setNewValue} />
                    </Form.Group>
                </Form>
            </div>
        </div>
    );
}

这与我在Form.Control标签上调用 function 的方式有关吗? 因为它在我的onSubmit属性上工作得很好。

任何帮助表示赞赏。

问题暂未有回复.您可以查看右边的相关问题.
2 类型 '(text: string) => void' 不可分配给类型 '() => void'

我正在为 TextInput 创建一个自定义组件。 但是当我尝试将 function 道具传递给自定义组件时遇到了问题。 这是代码 使用此代码,我收到此错误 我想我知道是什么原因造成的(它可能在类型声明上?)但由于这实际上是我第一次尝试 TypeScript,我真的不知道如何解决这个问题。 首先尝 ...

10 类型 'void' 不可分配给类型 'ObservableInput<{}>'

这个错误在我迁移到 TS 2.2.2 后开始出现,所以我假设这就是问题所在......代码没有停止工作,但现在我收到了这个错误,我尝试了一些事情,比如返回一个空的 observable ,捕获重新抛出的异常并返回 object,似乎没有任何效果。 为什么现在会发生这种情况? 难道它不应该理解我正在 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM