如何重写此 Textarea 组件以重新组合?
Posted
技术标签:
【中文标题】如何重写此 Textarea 组件以重新组合?【英文标题】:How to rewrite this Textarea Component to recompose? 【发布时间】:2019-08-22 02:56:18 【问题描述】:我有那个 React 组件,我需要重写它来重构。我不知道如何正确地做到这一点。你能帮帮我吗?
import React, Component from "react";
import autosize from "autosize";
class Textarea extends Component
componentDidMount()
this.textarea.focus();
autosize(this.textarea);
render()
return (
<textarea
ref=c => (this.textarea = c)
placeholder='Tell us your story...'
/>
);
export default Textarea
【问题讨论】:
正如 recompose repo 中提到的,你应该考虑使用 React 钩子而不是"Hooks solves all the problems I attempted to address with Recompose three years ago, and more on top of that"
【参考方案1】:
在我看来,使用 recompose 来重构需要访问 refs 的组件是不值得的。您需要访问组件中的 this 上下文并重新组合只会使这更加复杂。 (你可以尝试 withLifecycle 但我认为你会失去你需要的上下文)
您可以使用 withProps 来提供占位符文本,但这是我建议的唯一用途。
【讨论】:
以上是关于如何重写此 Textarea 组件以重新组合?的主要内容,如果未能解决你的问题,请参考以下文章
将 REACT 组件渲染为 HTML 字符串以复制或添加到 textarea