#react-native #react-native-android #arrow-functions
#react-native #react-native-android #стрелка-функции
Вопрос:
Я новичок в React Native и поэтому не знаком с использованием функции Arrow . Я пробую этот код, чтобы получить разрешение Wi-Fi.
Мой код
import { PermissionsAndroid } from "react-native";
async componentDidMount() {
await this.askForUserPermission();
}
async askForUserPermission()
{
try{
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
title: "Wifi Networks",
message: "We need your permission to access wifi networks"
}
);
if (granted === PermissionsAndroid.RESULTS.GRANTED){
console.log("Thank you for your permission! :)");
}
else{
console.log("You will not be able to retrieve wifi networks list");
}
}
catch (err)
{
console.warn(err);
}
}
Пожалуйста, помогите мне.
Комментарии:
1. вам нужно опубликовать полученную ошибку, сделать снимок экрана с ошибкой, которую она выдает
Ответ №1:
Ожидается, что componentDidMount() будет находиться внутри класса as. Что-то похожее на это будет работать.
class someComponent extends React.Component {
componentDidMount() {
return this.askForUserPermission();
}
async askForUserPermission() {
// Other code abbreviated.
}
};
export default someComponent;
Ответ №2:
Добавление к другому ответу:
компилятор в основном просит вас поместить =>
, потому что, когда вы создаете автономную функцию (не в классе), она ожидает либо одну из этих:
async function myFunction(){
// implementations...
}
myFunction = async () =>{
// implementations...
}
Если только вы не определяете эти функции внутри компонента класса, чтобы они были определены как экземпляры этого класса (т. Е. Нет Необходимости добавлять function
к нему ключевое слово)