#javascript #reactjs #typescript #formik
Вопрос:
после некоторой боли я понял, что на самом деле не понимаю, как это работает или как это на самом деле называется
Вперед: Новичок в typescript/javascript и реагировании
Я использую Formik и пытаюсь создать некоторые пользовательские функции, чтобы облегчить работу моей команды, и я обнаружил, что с помощью Formik я могу сделать следующее (учебные пособия отличные):
<Formik
{...props}
validationSchema={validationSchema}
onSubmit={async (values, helpers) => {
await props.onSubmit(values, helpers);
setCompleted(true);
}}
>
{({ isSubmitting, setFieldValue, touched, errors }) => (
...
В этом я теперь могу использовать ошибки, ошибки и т. Д. От Formik (Из того, что я понимаю?)
Как бы я сделал это с помощью своих собственных пользовательских функций/компонентов?
Т.е.
// In MyComponent
const myCoolConst = "George"
<MyComponent name="Hello" > {(myCoolConst)} => {
<text>{myCoolConst}</text>
}
</>
Также бонус от меня, но то, что я пытаюсь сделать, считается анти-шаблоном или чем-то в этом роде?
Комментарии:
1. Это называется реквизитом рендеринга — reactjs.org/docs/render-props.html где мы называем реквизит функциями .
Ответ №1:
Это парадигма рендеринга реквизита, и вот простой пример того, как это сделать,
const MyComponent = ({children}) => {
return (
<>
<div>Content from MyComponent</div>
<>{children(1, 2)}</>
</>
);
};
export default function App() {
return (
<MyComponent>
{(a, b) => {
return <>
<p>{a}</p>
<p>{b}</p>
</>
}}
</MyComponent>
);
}
Здесь children
реквизит-это особый вид реквизита, который автоматически доступен вам для отображения контента с помощью обратных вызовов.
Комментарии:
1. Спасибо, что объяснили это и показали мне реальную концепцию, 1.