如何将 formik initialState 值作为参数传递给函数
How to pass a formik initialState value as a parameter to a function
我在我的 React 应用程序中使用 Formik,但不确定如何将 Formik 值属性作为参数传递给函数。
假设我有以下 Formik 值:
"props": {
"myJobName": "ABC"
}
在我的 <Formik>
和 <Form>
标签中的按钮标签中,我试图调用 setJobContent
并传入 values.myJobName
<Button
onClick={()=> {
setJobContent({values.myJobName})
}}
/>
Click
</Button>
我的 <Formik>
和 <Form>
标签之外还有以下功能:
const setJobContent = (jobName) => {
// do something
// return something
}
不确定这是否可行,如果可行,将不胜感激。
如果您只想在 setJobContent 函数中获取“myJobName”,那么您必须像这样传递 setJobContent(values.myJobName)
。
这是您想要的行为吗?
https://codesandbox.io/live/jpr5fj3
export default function App() {
const setJobContent = (jobName) => {
alert(jobName);
};
return (
<div className="App">
<Formik initialValues={{ myJobName: "test" }}>
{({ values, handleChange }) => (
<form>
<input
type="text"
name="myJobName"
onChange={handleChange}
value={values.myJobName}
/>
<em>{JSON.stringify(values, null, 2)}</em>
<button
type="button"
onClick={() => setJobContent(values.myJobName)}
>
Submit
</button>
</form>
)}
</Formik>
</div>
);
}`
我在我的 React 应用程序中使用 Formik,但不确定如何将 Formik 值属性作为参数传递给函数。
假设我有以下 Formik 值:
"props": {
"myJobName": "ABC"
}
在我的 <Formik>
和 <Form>
标签中的按钮标签中,我试图调用 setJobContent
并传入 values.myJobName
<Button
onClick={()=> {
setJobContent({values.myJobName})
}}
/>
Click
</Button>
我的 <Formik>
和 <Form>
标签之外还有以下功能:
const setJobContent = (jobName) => {
// do something
// return something
}
不确定这是否可行,如果可行,将不胜感激。
如果您只想在 setJobContent 函数中获取“myJobName”,那么您必须像这样传递 setJobContent(values.myJobName)
。
这是您想要的行为吗? https://codesandbox.io/live/jpr5fj3
export default function App() {
const setJobContent = (jobName) => {
alert(jobName);
};
return (
<div className="App">
<Formik initialValues={{ myJobName: "test" }}>
{({ values, handleChange }) => (
<form>
<input
type="text"
name="myJobName"
onChange={handleChange}
value={values.myJobName}
/>
<em>{JSON.stringify(values, null, 2)}</em>
<button
type="button"
onClick={() => setJobContent(values.myJobName)}
>
Submit
</button>
</form>
)}
</Formik>
</div>
);
}`