Прежде всего, вы не вызываете метод greeting
, вы должны вызывать его для того, чтобы ваш код работал.
Во-вторых, вы должны поддерживать состояние как можно более тонким, поэтому подумайте еще разперед назначением метода для вашего состояния, есть лучшее место для его размещения.
const [firstName, setFirstName] = useState('John');
const [lastName, setLastName] = useState('Doe');
const greeting = () => {
console.log(`Hello i'm ${firstName} ${lastName}, nice to meet you!`);
}
Затем где-нибудь в вашем коде вызовите greeting()
.
Как вы можете видеть, мы 'переопределите переменные firstName
и lastName
с их начальными значениями и соответствующими установщиками благодаря хукам реагирования, чтобы вы могли вызывать их непосредственно в своем коде.
console.log(`Hi, my name is ${firstName}`) // Hi, my name is John
И если вы запустите setFirstName('David')
и после этого вы снова запускаете:
console.log(`Hi, my name is ${firstName}` // Hi, my name is David
Вы получите обновленную версию firstName
, что лучше, не так ли?