En los documentos para el componente de autocompletar de MUI, se me dice que las etiquetas de representación deben tener la siguiente forma:
Render the selected value. Signature: function(value: Array<T>, getTagProps: function) => ReactNode value: The value provided to the component. getTagProps: A tag props getter.
Y cuando miro los ejemplos (como el que se muestra a continuación), está claro que getTagProps está completando las opciones para los elementos de etiqueta que se seleccionaron.
renderTags={(tagValue, getTagProps) => tagValue.map((option, index) => ( <Chip label={option.title} {...getTagProps({ index })} disabled={fixedOptions.indexOf(option) !== -1} /> )) }
Bien, tengo la idea de que de alguna manera se supone que getTagProps completa los accesorios para cada Chip en función de su índice, pero la única función que puedo encontrar en la fuente que se pasa como getTagProps es la siguiente función trivial:
getTagProps: ({ index }) => ({ key: index, 'data-tag-index': index, tabIndex: -1, onDelete: handleTagDelete(index), }),
Si ese es el valor que siempre se pasa como getTagProps, puedo averiguar qué está pasando. Sin embargo, lo que me confunde es el hecho de que esto haría que getTagProps sea solo una constante, entonces, ¿por qué renderTags necesita un argumento de función? Quiero decir que podrían haber hecho getTagProps una función de solo tagValue y pegarlo en el código anterior donde se llama a getTagProps({index}).
¿GetTagProps realmente siempre es solo la función anterior o me estoy perdiendo algo sobre cómo obtiene su valor?