首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在useReducer之后清除输入

如何在useReducer之后清除输入
EN

Stack Overflow用户
提问于 2020-02-17 22:09:48
回答 4查看 561关注 0票数 0

我正在使用useReducer来控制我的2个输入:

代码语言:javascript
复制
const [noteInput, setNoteInput] = useReducer(
    (state, newState) => ({ ...state, ...newState }),
    {
      title: '',
      content: ''
    }
  );

在onClick on按钮后,我希望两个输入都被清除。在useReducer之后,我该怎么做呢?

EN

回答 4

Stack Overflow用户

发布于 2020-02-17 22:19:13

您可以使用setState将状态更新为empty,也可以分派其他操作将该状态更新为空字符串。https://redux.js.org/basics/reducers#reducers

票数 0
EN

Stack Overflow用户

发布于 2020-09-17 05:36:05

如果您只是想使用useReducer清除表单,您可以使用dispatch来完成此操作。让我们以这个示例按钮组件为例。

代码语言:javascript
复制
//Component
<Button onClick={() => {dispatch({ type: "CLEAR_FORM"})}}>Submit</Button>

点击按钮后,"CLEAR_FORM“被分派到减速机。

代码语言:javascript
复制
//Form Initial State & Reducer switch statement
export const initialState={
  username:"",
  password:""
}

export const reducer = (state, action) => {
  switch(action.type){
   case: "CLEAR_FORM":
    return {
          username:"",
          password:"",
    }
   default:
    return state
    }
 } 

当reducer获得{ type:"LOG_OUT“}时,在本例中,它将用户名和密码字段重置为空字符串。

https://reactjs.org/docs/hooks-reference.html#usereducer

票数 0
EN

Stack Overflow用户

发布于 2021-09-03 01:56:45

可以将第三个参数传递给React.useReducer(),名为init。这称为延迟初始化,是恢复到初始状态的一种快速方法。

https://reactjs.org/docs/hooks-reference.html#lazy-initialization

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60264297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档