J'essaie d'apprendre les hooks et de réagir de manière native en général.
Actuellement, j'essaie de créer une petite application de liste de courses, dans laquelle vous ajouteriez l'article de votre choix à la liste.
J'ai déjà le bouton d'entrée + sur l'écran.
const [enteredEntity, setEnteredEntity] = useState(''); const inputHandler = (enteredEntity) => { setEnteredEntity(enteredEntity); } const addInputHandler = () => { console.log(enteredEntity); }
J'ai deux fonctions + hook déclaré comme suit:
<View> <TextInput placeholder="hinzufügen..." onChangeText={inputHandler} value={enteredEntity} /> <Button title="+" onPress={addInputHandler} /> </View>
et j'obtiens le message d'erreur suivant (voir ci-dessous ) - à la ligne 20, où l'erreur devrait être, j'ai le TextInput.
Merci beaucoup pour votre contribution.
3 Réponses :
Comme Ian l'a suggéré dans son commentaire, le problème était dû à une importation manquante de {useState}
.
import React, { useState } from 'react';
Voici comment les hooks peuvent être implémentés. Cet exemple implémenté avec componentDidUpdate. Selon le deuxième argument de useEffect, ce hook peut agir comme componentDidMount ou componentDidUpdate. useEffect exécute chaque rendu est fait, cela pourrait provoquer une boucle infinie alors essayez toujours de passer le 2ème argument
import React, {useState, useEffect} from 'react'; const [userBalance, setUserBalance] = useState(session.userBalance); useEffect(()=>{ setUserBalance(session.userBalance) },[session.userBalance]);
importer React, {useState} depuis 'react'
Veuillez montrer le code complet. Avez-vous importé useState?
import React, {useState} depuis 'react'
Merci Ian, cela a résolu le problème pour moi. Je manquais totalement l'importation.
importer React, {useState} de 'react'