如何使用或不使用包装箭头函数调用两个函数

how to call two functions with or without wrapping arrow function

import{useState } from 'react'

export const useForm=(callback, initialState={})=>{
     
    const [values, setvalues] = useState(initialState)
    const onChange=(event)=>{
        setvalues({...values,[event.target.name]:event.target.value})
    }
    const onSubmit=  event =>{
        callback();
    }
    return{
        onChange,
        onSubmit,
        values
    }
}
 function createPostCallback(){
            createPost();
          }
          const [open, setOpen] =useState(false)
      
        return (
            <Modal 
            as={Form}
            onSubmit={onSubmit} 

我认为您只需要在不使用 && 运算符的情况下调用该函数。

onSubmit={() => {  onSubmit(); setOpen(false);  }} 

希望有用!

对于简洁的代码,我建议您执行另一个调用这两个函数的函数:

function onSubmitAndSetOpenFalse() {
   onSubmit();
   setOpen(false);
}

...
onSubmit={onSubmitAndSetOpenFalse} 

或者你可以像 Shri Hari 告诉的那样做

onSubmit={() => {  onSubmit(); setOpen(false);  }} 

两者都可以。