Как вызывать методы через ссылки в React19? Я не могу передавать методы по ссылке, как это сделано в книге.Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Как вызывать методы через ссылки в React19? Я не могу передавать методы по ссылке, как это сделано в книге.

Сообщение Anonymous »

Я читаю книгу о React, но она устарела и взята из React16. Книга «Прогрессивные веб-приложения». Мне удалось обновить большинство вещей до React19, но я не могу передавать методы по ссылке, как это сделано в книге. Судя по тому, что я видел, React удалил «refs» и использует useRef или createRef, но я не могу сделать это в соответствии с книгой.
Это ссылка по refs через реакцию16
import React from 'react';
import './App.css';
import Header from './components/Header/Header.tsx';
import NovoUsuario from './components/NovoUsuário/NovoUsuario.tsx';
import Toast from './components/Toast/Toast.tsx'

function App() {
return (


this.refs.toast.erro(msg)} />


);
}

export default App;
< /code>
Компонент Erro () поступает из класса Novousuario, который находится внутри функции Validate (e). < /p>
validar(e) {
e.preventDefault()
let usuario = this.state.usuario
let validacao = this.state.validacao
validacao.nomeInvalido = ! usuario.validarNome()
validacao.generoInvalido = ! usuario.validarGenero()

let mensagem = ''
let primeiraVisaoCompleta = false
if(validacao.nomeInvalido && validacao.generoInvalido) {
mensagem = 'Os campos nome e gênero estão inválidos!'
} else if (validacao.nomeInvalido) {
mensagem = 'Seu nome está inválido!'
} else if (validacao.generoInvalido) {
mensagem = 'Selecione seu gênero!'
} else {
primeiraVisaoCompleta = true
}
if (!primeiraVisaoCompleta) {
this.props.erro(mensagem)
}

this.setState({
validacao: validacao,
primeiraVisaoCompleta: primeiraVisaoCompleta
})
< /code>
} < /p>
Я попытался использовать ref useref usecontext, и это не сработало, какой бы простой способ получить доступ к функции с помощью ссылки в другом компонент?

Подробнее здесь: https://stackoverflow.com/questions/793 ... s-by-refer
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»