function handleBlur(event) {
if (event.target.value !== props.value) {
// a hook function that ends up rerendering the whole playlist
}
}
Я экспериментирую с перехватчиками React, и у меня есть плейлист, который содержит несколько компонентов, которые имеют текстовые поля ввода. изменение элемента в списке, к сожалению, отображает весь компонент списка воспроизведения, несмотря на запоминание, поэтому я пытаюсь переместить функцию сохранения списка воспроизведения в onBlur вместо onChange. но когда я нахожусь в текстовом поле и перехожу на вкладку, после повторного рендеринга я теряю фокус на вкладке текстового поля, на котором я нахожусь. Есть ли способ, которым я могу предотвратить это? Любые советы о том, как предотвратить повторный рендеринг всего плейлиста, когда я хочу изменить только объект в списке, тоже подойдут
playerList.map((player, index) => (
<DraftPlayer
arrayPosition={index}
key={index + (Math.random()).toString()}
modifyPlayer={modifyPlayer} //hook function
player={player}
/>
))
const [playerList, setPlayerList] = React.useState(
initializePlayerListArray([ { firstName: "", lastName: "" },{ firstName: "", lastName: "" },{ firstName: "", lastName: "" },{ firstName: "", lastName: "" },{ firstName: "", lastName: "" },etc ])
);