简体   繁体   中英

Why is my React Hook State not updating when using setState?

I'm trying to create a simple form where a user enters basic information which gets posted to a database on submit. I check if my customer already exists in my database and if not I create a new customer. I'm new to React Native and React Hooks so maybe I'm violating one of the rules here, but when I pass the information into setCustomer to update the state nothing happens. Debugging show me the correct values are being passed to setCustomer. Any help would be appreciated.

const initialCustomerState = { email: "", firstName: "", lastName: ""}
export default function SendRequest(){
    
    const customers = getAllCustomers()
    const [customer,setCustomer] = useState(initialCustomerState)

    const {
            control, 
            handleSubmit,
            formState: {errors, isValid}
        } = useForm({mode: 'onBlur'})
    const onSubmit = data => {
        if(checkIfExists(data.email) == false){
            let email = data.email  
            let firstName = data.firstName
            let lastName = ''
            if(data.hasOwnProperty('lastName')){
                lastName = data.lastName
            }
            setCustomer(email,firstName,lastName)
            createNewCustomer()
            createNewReview(data.email)
            
        }else{
            createNewReview(data.email)
        }

    }

Your customer value is an object, you should place email,firstName,lastName inside curly brackets {email,firstName,lastName}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM