2015-05-12 77 views
1

我有一個組件Img接收圖像文件。該組件讀取文件並將base64結果放入我的state.base64變量中。反應js src屬性沒有更新

當我forceUpdate狀態和日誌的值,結果是存在的,但在瀏覽器中它看起來是空的。這是我的代碼。

Jsbin code

+0

您的jsbin在HTML中缺少「應用程序」標識。 ''

我 – kaz

回答

2

的問題是與這部分代碼:

return (
    <img src={this.state.base64} {...this.props} /> 
); 

如果你登錄this.props,你會看到有一個src道具用的null值。因此,{...this.props}正在覆蓋您正在設置的顯式src道具。

您可以更改順序,以便更具體的道具放在最後:

return (
    <img {...this.props} src={this.state.base64} /> 
); 

this.props創建一個對象與src屬性中刪除。

查看http://jsbin.com/rutokutemi/2/edit作爲一個工作示例。

+0

覺得這麼白癡...謝謝 – Neto