Вы правы, этот вопрос задавался много раз раньше, и, вероятно, он будет закрыт, потому что в нем столько дубликатов, но я все равно дам краткий ответ.
Функции связывания и стрелки достигают того же в компоненте React
На более техническом уровне связанные функции и функции стрелок различны, но для мира реакции, о котором вы говорите, они одинаковы, просто создайте функцию, связанную с контекстом экземпляра, который их создал, так что вы можете получить доступ к переменным instance при их выполнении.
Но почему тогда существует два способа создания связанных функций?
Почему тогда Не могли бы вы спросить, go из-за проблемы с двумя способами создания функций, связанных с контекстом? хорошо, даже если они достигают того же самого, вы можете сказать, что версия .bind
более многословна и также подвержена ошибкам, так как вы можете забыть привязать функции к конструктору, поэтому считается хорошей практикой использовать функции стрелок.
Команда реагирования не создала их, они являются частью javascript, и необходимость связывать функции является лишь следствием лежащего в основе дизайна языка. React только заставляет вас сгибать javascript для правильного работать как OOP язык.
Хорошо, что вы должны делать?
При этом экосистема реагирования движется к крючкам, и хотя команда, отвечающая за реагирование, продолжает повторяться не нужно использовать хуки, тенденция ясна, компоненты классов исчезнут, например: поскольку библиотеки обновляются для использования хуков и поддерживают различные способы доступа к ним, это слишком большая проблема, большинство из них используют только хуки.
Так что TL: DR в 2020 году: этот вопрос больше не актуален, go используйте f нецелевые компоненты с крючками и у вас не возникнет проблем