Кнопка входа в систему Auth0 — предупреждение о недопустимом вызове хука

Я пытаюсь ознакомиться с Auth0 и столкнулся с проблемой. Я следовал их руководству https://auth0.com/docs/quickstart/spa/react, чтобы создать одностраничное приложение. К сожалению, я мало что знаю о javascript :( Поэтому я настроил кнопку входа следующим образом:

import React from "react";
import { useAuth0 } from "@auth0/auth0-react";

const LoginButton = () => {
  const { loginWithRedirect } = useAuth0();

  return <button onClick = {() => loginWithRedirect()}>Log In</button>;
};

export default LoginButton;

Затем в учебнике говорится, что нужно просто добавить кнопку, но я не знаю, как это сделать, это то, что я сделал, но выдает ошибку недопустимого хука:

import { React } from "react";
import { Link } from "react-router-dom";
import './styles.css';
import '../components/Auth0LoginButton';
import LoginButton from "../components/Auth0LoginButton";

export default function HomePage(){

    return (
        
        <div className = "MainContent">
            <p class = "Content">Please LogIn to continue</p>
            
             <>
                <button 
                    variant = "primary"
                    id = "LoginBtn"
                    onClick = {() => LoginButton()}
                    
                    >
                        Login
                </button>
             </>   
            <p>
                <Link to = "./UserPage"> Access UserPage</Link>
            </p>
        </div>
        
    )
}

Кто-нибудь сейчас, как это сделать правильно? Я предполагаю, что неправильно нажимаю кнопку...

Loginbutton — это компонент, к которому уже привязан onlick, просто отобразите его на домашней странице.

EugenSunic 18.12.2020 18:06

Вы вызываете функцию, которая отображает кнопку при нажатии кнопки. Вместо этого вы можете просто отобразить кнопку.

Viresh Mathad 18.12.2020 18:08

Может быть, я что-то упускаю здесь, но как мне это сделать? Хотя я могу просто назвать это внутри тега html....

Nurbsey 18.12.2020 18:09

<div className = "MainContent"> <p class = "Content">Пожалуйста, войдите, чтобы продолжить</p> <LoginButton/> <p> <Link to = "./UserPage"> Доступ к странице пользователя</Link> </p > </дел>

Viresh Mathad 18.12.2020 18:10

Компонент, который вы создаете, должен использоваться как html-тег в других компонентах.

Viresh Mathad 18.12.2020 18:12
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Раскрытие чувствительных данных
Раскрытие чувствительных данных
Все внешние компоненты, рассмотренные здесь до сих пор, взаимодействуют с клиентской стороной. Однако, если они подвергаются атаке, они не...
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Руководство ChatGPT по продаже мини JS-файлов
Руководство ChatGPT по продаже мини JS-файлов
JS-файл - это файл, содержащий код JavaScript. JavaScript - это язык программирования, который в основном используется для добавления интерактивности...
1
5
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вместо создания новой кнопки:

<button variant = "primary" id = "LoginBtn" onClick = {() => LoginButton()}>
      Login
  </button>

Вызвать компонент LoginButton

<LoginButton/>

У вас уже есть действие onclick, определенное внутри этого компонента.

Круто спасибо миллион! Вероятно, вопрос новичка, но все равно спасибо за ответ, похоже, это помогло!

Nurbsey 18.12.2020 18:20

Другие вопросы по теме