1

我正在使用 react 和 redux。

我有更少的状态文本输入。我可以像这样使用

<TextInput error={true} /> // Uncontrolled and staelss

所以我可以通过订阅 redux 商店来使用 error/success... 道具。而且我还想提供一种在本地状态下进行验证的方法,用于在一些简单的情况下将状态保存在 redux 存储中会很复杂。

所以我想到了两种方法。

方法 1 HOC withValidation

const SomeInput = props => <TextInput label="Something" />;
const SomeInputWithValidation = withValidation(Input,(input) => {
   //perform validation logic
   return validation result.
  }); // Controlled ans stateful. 

方法 2 创建另一个使用无状态、不受控制的版本的组件

class ActiveTextInput extends React.Component { // Controlled and stateful.  

     //Do something with satate.

  render(){

     return <TextInput ...control props with state />;
  }
}

请帮我选择最好的抽象。谢谢。

4

0 回答 0