sách gpt4 ai đã đi

reactjs - 从几个地方操作一个组件实例 ReactJS

In lại 作者:行者123 更新时间:2023-12-03 14:27:28 31 4
mua khóa gpt4 Nike

我有一个组件实例,应该从不同的地方更新。如何从其他几个组件中更新此组件的 props?

class ParentComponent extends React.Component {

...

render() {
trở lại (



);
}
}

class ChildComponent extends React.Component {

...

render() {
trở lại (

...

);
}
}

class AdditionalComponent1 extends React.Component {
// I want to update 'someValue' in ChildComponent
}

class AdditionalComponent2 extends React.Component {
// I want to update 'someValue' in ChildComponent
}

我只需要一个 ChildComponent 实例

1 Câu trả lời

// I want to update 'someValue' in ChildComponent

您无法从ChildComponentlàm mớisomeValue,bởi vìsomeValue是作为props传递的,而props应被视为在接收它们的组件内只读。

但是,您可以以某种方式通知 ParentComponent 您想要更新 someValue - 如果 ParentComponent làm mới someValue 那么ChildComponent 也将收到它的新版本(因为 someValue 处于 ParentComponent 的状态)。

nếu như AdditionalComponent1ParentComponent 没有“简单”的层次关系(例如兄弟、子组件等),那么您可以使用观察者模式,其中 ParentComponent 监听有趣的事件,而 AdditionalComponent1 发布此类事件。

More信息。

例如在 ParentComponent 中监听事件并采取行动:

..

comonentDidMount()
{
// from "anywhere" in your app you can publish event and listen here
ObserverPatt.listen("eventName", ()=>{
this.setState({val:0})
});

}

..

关于reactjs - 从几个地方操作一个组件实例 ReactJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48147588/

31 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com