она же создается внутри самого рендера как раз?
ну вот у тебя компонент: let NoBill = ({ onSubmit }) => { let validateForm = event => { event.preventDefault() onSubmit() .then(() => { /* ... */ }) .catch(err => { /* ... */ }) } return ( <div> <Form validateForm={validateForm}> ... </Form> </div> ) } ты передаёшь в форму функцию validateForm как параметр. если она у тебя каждый рендер NoBill разная, то в форме каждый раз её предыдущее значение не будет равно текущему. ты можешь это "заоптимизировать": let NoBill = ({ onSubmit }) => { let validateForm = useCallback(event => { event.preventDefault() onSubmit() .then(() => { /* ... */ }) .catch(err => { /* ... */ }) }, [ onSubmit ]) return ( <div> <Form validateForm={validateForm}> ... </Form> </div> ) } теперь у тебя есть гарантия, что если onSubmit не меняется, то не изменится и значение validateForm, поэтому гипотетически внутри компонента формы проп validateForm не будет меняться и форма не будет перерендериваться. но отвечая на твой вопрос «будет ли она пересоздаваться каждый раз» — да, пересоздаваться каждый раз будет, но переприсваиваться — нет.
Обсуждают сегодня