Вы не могли итерировать или хранить больше данных, чем длина вашего массива. В этом случае вы можете сделать так:
for (int i = 0; i <= name.length - 1; i++) {
// ....
}
Или это:
for (int i = 0; i < name.length; i++) {
// ...
}
При использовании хуков потеря производительности при создании встроенной функции стрелки незначительна для преимуществ, которые она имеет по сравнению с компонентами класса, и, следовательно, вам не нужно беспокоиться о функциях стрелки при рендеринге.
Вы можете отключить это правило eslint.
Однако вы все еще улучшаете свой код, написав метод increment
и запомнив его, используя крюк useCallback
function Example() {
// Declare a new state variable, which we'll call "count"
const [count, setCount] = React.useState(0);
const increment = React.useCallback(() => {
setCount(prev => prev+1);
}, [])
return (
<div>
<p>You clicked {count} times</p>
<button onClick={increment}>
Click me
</button>
</div>
);
}
ReactDOM.render(<Example />, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.3/umd/react-dom.production.min.js"></script>
<div id="app"/>