[@types/react] Bug after update to version 18.2.61 #68840
-
Before this version, my code works normally, but after update @types/react to v18.2.61. it shows up the error:
at line:
Below is my component if you're interested interface BootstrapFieldProps extends BsPrefixRefForwardingComponent<"input", FormControlProps> {
inputRef?: React.Ref<any>;
InputProps?: {
ref?: React.Ref<any>;
endAdornment?: React.ReactNode;
startAdornment?: React.ReactNode;
};
error?: boolean;
focused?: boolean;
ownerState?: any;
}
type BootstrapFieldComponent = ((
props: BootstrapFieldProps & React.RefAttributes<HTMLDivElement>,
) => React.JSX.Element) & { propTypes?: any };
const BootstrapField = React.forwardRef(
(props: BootstrapFieldProps, ref: React.Ref<HTMLDivElement>) => {
const {
inputRef,
InputProps: { ref: containerRef, startAdornment, endAdornment } = {},
error,
focused,
ownerState,
...other
} = props;
const handleRef = useForkRef(containerRef, ref);
return (
<div className="d-flex align-items-center" ref={handleRef}>
{startAdornment}
<Form.Control autoComplete="none" type="text" ref={inputRef} {...other}></Form.Control>
{endAdornment}
</div>
);
},
) as BootstrapFieldComponent;
interface BootstrapDateFieldProps extends UseDateFieldProps<Moment>,
BaseSingleInputFieldProps<
Moment | null,
Moment,
FieldSection,
DateValidationError
> { }
const BootstrapDateField = React.forwardRef(
(props: BootstrapDateFieldProps, ref: React.Ref<HTMLDivElement>) => {
const {
inputRef: externalInputRef,
slots,
slotProps,
...textFieldProps
} = props;
const {
onClear,
clearable,
ref: inputRef,
...fieldProps
} = useDateField<Moment, typeof textFieldProps>({
props: textFieldProps,
inputRef: externalInputRef,
});
/* If you don"t need a clear button, you can skip the use of this hook */
const { InputProps: ProcessedInputProps, fieldProps: processedFieldProps } =
useClearableField<
{},
typeof textFieldProps.InputProps,
DateFieldSlotsComponent,
DateFieldSlotsComponentsProps<Moment>
>({
onClear,
clearable,
fieldProps,
InputProps: fieldProps.InputProps,
slots,
slotProps,
});
return (
<BootstrapField
ref={ref}
inputRef={inputRef}
{...processedFieldProps as any}
InputProps={ProcessedInputProps}
/>
);
},
);
const BootstrapDatePicker = React.forwardRef(
(props: DatePickerProps<Moment>, ref: React.Ref<HTMLDivElement>) => {
return (
<DatePicker
ref={ref}
{...props}
dayOfWeekFormatter={(day) => day.toUpperCase()}
slots={{ field: BootstrapDateField, ...props.slots }}
slotProps={{
actionBar: {
actions: ["clear", "today", "accept"]
}
}}
/>
);
},
); |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 8 replies
-
Thanks for the discussion about "react", some useful links for everyone: Pinging the DT module owners: @johnnyreilly, @bbenezech, @pzavolinsky, @ericanderson, @DovydasNavickas, @theruther4d, @guilhermehubner, @ferdaber, @jrakotoharisoa, @pascaloliv, @Hotell, @franklixuefei, @Jessidhia, @saranshkataria, @lukyth, @eps1lon, @zieka, @dancerphil, @dimitropoulos, @disjukr, @vhfmag, @hellatan, @priyanshurav, @Semigradsky, @mattpocock. |
Beta Was this translation helpful? Give feedback.
-
Take this example: const Component = forwardRef(function Component(props, ref) {
console.log(ref)
})
class App extends React.Component {
render() {
return <Component ref="component" />
}
} It's important that Without knowing |
Beta Was this translation helpful? Give feedback.
@eps1lon The issue was fixed after upgrading mui/x-date-pickers to v7.0.0 and migrating some code based on docs. Well. i don't know why