![](/img/trans.png)
[英]Child Stateless Functional Component doesn't update even after parent State updates
[英]Stateless Functional Component prop of type function doesn't update
我不知道如何准確描述我所面臨的問題,因此標題可能毫無意義。
我正在使用React 15.4.2,Mobx 3.0.0
我有一個無狀態的功能Blah
它接受一個對象成分thing
作為一個支柱。
thing
具有可觀察的屬性。
不出所料,當傳入其他thing
實例時,Blah組件將相應地更新。
Blah
組件有另一個組件,該組件基本上是稱為DzComponent
react-dropzone-component的包裝器
傳遞給react-dropzone-component的參數之一是success
事件處理程序。 當我們放下東西並成功上傳時,這稱為。
問題是事件的順序是這樣的:
Blah
用東西實例A
叫來 DzComponent
正確獲取handleImageUpload
參考。 即成功后,當我們調用props.thing.observable
它是指實例A
Blah
用東西實例B
叫來 DzComponent
似乎仍然引用舊的handleImageUpload
參考。 即成功后, props.thing.observable
仍然引用實例A
而不是預期的實例B
如何獲取事件處理程序以更新正確的實例?
Blah.jsx
import React from 'react';
import {observer} from 'mobx-react';
function Blah(props) {
function handleImageUpload(evt, res) {
props.thing.observable = res.image_url
}
return (
<div>
<div>blah blah blah {props.thing.otherObservable}</div>
<DzComponent success={handleImageUpload}></DzComponent>
</div>
)
}
Blah.propTypes={
thing: React.PropTypes.object
}
export default observer(Blah)
DzComponent.jsz
import React from 'react';
import DropzoneComponent from 'react-dropzone-component';
function DzComponent(props) {
return <DropzoneComponent></DropzoneComponent>
}
export default observer(DzComponent);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.