Estoy codificando un componente para facilitar el uso del componente material-ui React Autocompletar, el nuevo componente tiene algunos accesorios y luego devuelve el componente React Autocompletar con sus propios accesorios asignados, ¿cómo puedo anular el accesorio React Autocompletar "onChange" en algunos situaciones en las que necesito agregar líneas de código adicionales?
import React from 'react'; import './CustomAutocomplete.css'; import { Autocomplete, createFilterOptions } from '@material-ui/lab'; import { TextField } from '@material-ui/core'; interface CustomAutocompleteProps { placeholder: string; options: any[]; optionSelected: any; setOptionSelected: (newValue: any) => void; startSearchLength: number; optionsSuggestionLimit: number; } export const CustomAutocomplete = (props: CustomAutocompleteProps) => { const defaultFilterOptions = createFilterOptions(); const filterOptions = (options, state) => { return defaultFilterOptions(options, state).slice( 0, props.optionsSuggestionLimit ); }; return ( <Autocomplete placeholder={props.placeholder} filterOptions={filterOptions} value={ props.options.length === 1 ? props.options[0] : props.optionSelected } options={props.options ? props.options : []} disabled={props.options.length === 1} getOptionSelected={(option, value) => option.name === value.name} getOptionLabel={(option) => option.name || ''} onChange={(event: any, newValue: any) => { props.setOptionSelected(newValue); }} renderInput={(params) => ( <TextField {...params} variant="standard" placeholder={props.placeholder} onChange={(event: any) => { event.target.value.length > props.optionsSuggestionLimit && props.setOptionSelected(event.target.value); }} /> )} /> ); };En algunos casos, necesito agregar más set useState en onChange props, pero si lo agrego en el componente CustomAutocomplete, intentará ejecutarse en cada importación. ¿Cómo puedo sobrepasar y llamar solo en una situación específica?
onChange={(event: any, newValue: any) => { setOptionSelected(newValue); setoptionSelected2(newValue); setOptionSelected3(newValue); }}¿Tienes alguna idea? ¡Gracias!