Tengo un componente que toma otro componente como accesorio como se muestra a continuación,
<WrapperComp isEnabled = { enabled } view = { (payload) => { return <Test { ...props } testProp= { payload} />; } } />Aquí, view prop es un componente, cada vez que cambia props, hace que el componente de prueba se desmonte y se vuelva a montar. Hay alguna manera de evitar esto.
El componente contenedor es un componente simple que muestra el componente Ver, algo como a continuación
const WrapperComp = ( {View} ) => { return <View payload={ 'some payload' } />; };Descubrí por qué se estaba desmontando y volviendo a montar, el problema aquí es que estoy pasando el componente de la función como un accesorio cuya referencia cambia en cada renderizado, por lo que se pasa un componente nuevo cada vez que se vuelve a renderizar el contenedor, una de las soluciones para esto es usar "usar devolución de llamada"
<WrapperComp isEnabled = { enabled } view = { useCallback((payload) => { return <Test { ...props } testProp= { payload} />; }, []) } />