如何在 reactjs 中使用 recompose 清理表单?
Posted
技术标签:
【中文标题】如何在 reactjs 中使用 recompose 清理表单?【英文标题】:How do I clean up form using recompose in reactjs? 【发布时间】:2019-03-02 20:38:20 【问题描述】:提交表单后,我想清理它,但这个解决方案似乎不起作用。这是我的提交处理程序:
handleSubmit: ( title, body , props) => e =>
e.preventDefault()
props
.handleCreatePost(
variables:
title,
body
)
.then(() =>
return
title: "",
body: ""
)
.catch(err => console.log(err))
【问题讨论】:
【参考方案1】:每次您需要从组件内部更改道具时,您都必须使用withStateHandlers
。
compose(
withStateHandlers(
(title, body)=> (title, body), //set the state from parent props
setTitle: () => title => (title), // update the title
setBody: () => body => (body), // update the body
clearProps: () => () => (titel:'', body: '') // create a handler to reset the values
),
withHandlers(
handleSubmit: ( title, body, clearProps , props) => e =>
e.preventDefault()
props
.handleCreatePost(
variables:
title,
body
)
.then(clearProps) // reset the values
.catch(err => console.log(err))
)
)
【讨论】:
以上是关于如何在 reactjs 中使用 recompose 清理表单?的主要内容,如果未能解决你的问题,请参考以下文章
你如何从 recompose 中读取这个 curry'd 函数……我的脑痛
如何在 React-Recompose 应用程序中将事件处理程序传递给 React-node
使用 recompose setStatic 并将其连接到 redux (nextjs)
React Recompose 在 Props 上导致 Typescript 错误