【问题标题】:Update state of a immutable component from parent component从父组件更新不可变组件的状态
【发布时间】:2021-06-22 21:06:14
【问题描述】:

我正在开发一个需要稍微更改现有组件的用例。这是现有组件的代码,但我不能更改 ABC.tsx 文件,只需导入即可。

export const ABC: React.FC<IABC> = (props) => {
  const [selectedKey, setSelectedKey] = useState('0');
  return ();
};

现在,用例来自调用组件,我想将 ABC 的 selectedKey 状态更改为不同的值,例如“1”。有没有办法在反应中做到这一点?我可以使用 ABC 来创建克隆/包装器组件,但不确定如何继续修改 ABC 的状态。任何线索都会有帮助。

【问题讨论】:

    标签: javascript reactjs react-hooks react-functional-component


    【解决方案1】:

    你将不得不篡改 ABC.tsx 文件,也许做这样的事情

    export const ABC: React.FC<IABC> = (props) => {
      const [selectedKey, setSelectedKey] = useState(props.abc_integer);
      return ();
    };
    

    否则没有没有其他方法可以做到这一点,即使你运行一个克隆或做一些 React 孩子,你仍然需要篡改。让团队中编写组件 ABC 的人对其进行更改以适合您的需求,或者您只需克隆其代码并通过包装器运行它。

    psa:据我所知,任何其他方法都是反反应模式

    【讨论】:

    • 是的,想法相同,但无法更改文件。谢谢:)
    猜你喜欢
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 2018-10-09
    • 1970-01-01
    • 2021-06-30
    • 2018-12-26
    相关资源
    最近更新 更多