Я делаю это в собственном коде реакции, eslint показывает ошибку для строки ref = "drawer"
[eslint] Using string literals in ref attributes is deprecated.
Как правильно это сделать.
<DrawerLayoutAndroid
drawerWidth = {300}
ref = "drawer"
drawerPosition = {DrawerLayoutAndroid.positions.Left}
renderNavigationView = {() => navigationView}
</DrawerLayoutAndroid>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам необходимо использовать ref callback pattern как строковые ссылки устарели.
<DrawerLayoutAndroid
drawerWidth = {300}
ref = {(ref) => this.drawer = ref}
drawerPosition = {DrawerLayoutAndroid.positions.Left}
renderNavigationView = {() => navigationView}
</DrawerLayoutAndroid>
(ref) => this.drawer = ref - это синтаксис стрелочной функции, вы можете упростить его аналогично
constructor(props) {
super(props);
this.setRef = this.setRef.bind(this);
}
setRef(ref) {
this.setRef = ref;
}
...
ref = {this.setRef}
Проверьте этот ответ для получения дополнительной информации
Как получить доступ к элементу DOM в React? Что эквивалентно document.getElementById () в React
@Khemraj, это синтаксис стрелочной функции, проверьте обновление
вы можете заключить их в фигурные скобки, чтобы указать, что это действительный синтаксис JS.
<DrawerLayoutAndroid
drawerWidth = {300}
ref = {'DRAWER'}
drawerPosition = {DrawerLayoutAndroid.positions.Left}
renderNavigationView = {() => navigationView}
</DrawerLayoutAndroid>
Даже если вы добавите фигурные скобки, ошибки es-lint будут такими же
@TinoJoseThannippara: Я почти уверен, что они этого не сделают, но это может быть связано с тем, что вашему редактору кода требуется некоторое время для обновления. Вы можете попробовать открыть страницу повторно
вопрос задает правильный способ решения ошибки, отображаемой eslint, а не способ обхода правила eslint
Я новичок в js, не могли бы вы немного объяснить этот синтаксис.