React Hooks и jsx-no-lambda предупреждение

Вы не могли итерировать или хранить больше данных, чем длина вашего массива. В этом случае вы можете сделать так:

for (int i = 0; i <= name.length - 1; i++) {
    // ....
}

Или это:

for (int i = 0; i < name.length; i++) {
    // ...
}
2
задан Amir-Mousavi 4 March 2019 в 12:45
поделиться

1 ответ

При использовании хуков потеря производительности при создании встроенной функции стрелки незначительна для преимуществ, которые она имеет по сравнению с компонентами класса, и, следовательно, вам не нужно беспокоиться о функциях стрелки при рендеринге.

Вы можете отключить это правило 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"/>
[119 ]
0
ответ дан Shubham Khatri 4 March 2019 в 12:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: