当前位置: 首页 > 知识库问答 >
问题:

React-重构类组件以将部分移动到功能组件[重复]

唐俊爽
2023-03-14

我有下面的类组件-

https://pastebin.com/WigZksAq

我想将面板移动到单独的文件中-

const Panel1 = props => (
    <Panel id='Panel1'>
    <PanelHeader>Panel 1</PanelHeader>
    <Group>
    <CellButton onClick={ () => this.setState({ activePanel: 'panel2' }) }>
        Go to panel 2
    </CellButton>
    </Group>
    </Panel>
);

但是我不明白如何修改主类组件的状态。

共有1个答案

董胡媚
2023-03-14

好的,我找到了解决方案:

<Panel1 id='Panel1' go={active_panel => this.setState({ activePanel: active_panel })}></Panel1>

在父组件中,以及

<CellButton onClick={props.go.bind(this, 'panel2')}>
    Go to panel 2
</CellButton>

它看起来很丑,但很有效,将来我计划开始使用redux。

 类似资料:
  • 我完全不知道这里发生了什么,如果有任何帮助,我将不胜感激!

  • 我是ES6新手。在编写React组件的不同方法上有点困惑。我从“react.createClass”开始,然后使用ES6类语法移到“extends react.component”。

  • 我有一个应用程序正在使用类组件开发react,我发现了一个功能的代码,我想添加到我的代码中,但它是使用功能组件制作的。代码在这里https://codesandbox.io/s/framer-motion-animate-in-view-gqcc8 但相关部分是这样的。 我不知道如何在我的类组件中添加那个控件变量 我应该把它添加到我的州吗?我不明白如何让它在类组件中工作

  • 问题内容: 大家好,我正在使用Swing和Apache Commons开发一个终端应用程序。我能够重定向和一个很容易,但我怎么做到这一点的?我需要重写方法吗?我需要将from 转换为byte数组,然后将其传递给吗?代码示例会很好。 问题答案: 我最近尝试了同样的事情,这是我的代码: 并像这样使用它: 自从我编写Java以来​​已经有一段时间了,所以我可能不了解最新的模式。您可能还应该重载,但是我的

  • 问题内容: 我尝试将函数传递给子组件。当用户单击每个子组件时,将调用onclick函数。此onclick函数将写入父组件。 父组件: 子组件: 在这一行: 它说没有定义handleClick …如何解决这个问题? 感谢您的回答。 问题答案: 您需要将Agents绑定到AgentsList:这是您的代码的一个简单示例,我不得不删除一些东西,但是您明白了: http://jsfiddle.net/vh

  • 我知道在香草ES6中,您可以编写一个,它扩展了一个函数类。这里解释了这一点。 React支持两个ES6类组件,通过扩展React。组件和功能组件。但是,当尝试扩展功能组件时,我遇到了以下错误。 我正在尝试编写一些扩展组件的代码,这些代码同时适用于ES6类组件和功能组件。我想写一个函数,返回一个组件,但不是一个高阶组件,我只想扩展和修改一些道具。 下面是一些我尝试过但不起作用的示例代码。这可能吗?我