我有一个名为 Context.js 的文件,其中有一个 reducer。所有这些都使用 Context API 传递给其他组件
const reducer = (state, action) => {
switch (action.type) {
case "SET_NAME":
return {...state, name: action.payload}
case "SET_LASTNAME":
return {...state, lastname: action.payload}
case "SET_EMAIL":
return {...state, email: action.payload}
default:
return state
}
在许多其他组件中,我正在尝试使用 Formik 处理表单,并希望将表单信息保存到状态中,这样如果通过其他组件访问表单,则可以在那里找到已经提供的信息。
<label htmlFor="name">Nome</label>
<Field maxLength="51"
name="name"
value={name}
type="text"
onChange={(e) => dispatch({ type: "SET_NAME", payload: e.target.value })}
/>
<ErrorMessage name="name" />
如果我尝试记录“名称”,它可以正常工作,但是当我离开该字段时,它会给我错误消息,就好像没有输入任何内容一样。
我似乎无法弄清楚如何将 Formik 与 useReducer 一起使用或如何将其信息传递给其他组件