[英]React.js Update component passed as argument
我正在使用React.js和Strophe.js開發Web xmpp聊天,但是運行起來很麻煩。
XMPP連接存儲為單個對象,但是棘手的是,連接狀態更改由類處理,我可以在其中存儲真正的處理程序(因為顯示連接狀態將具有2個不同的視圖,並且初始化后無法更改Strophe.OnConnection處理程序)
我想要實現的是將組件傳遞給函數,使用新的props進行渲染,就像這樣
var statusHandler = {
handler:"",
setStatus: function(status) {
React.render(<this.handler value=status/>, dom);
}
}
var firstContainer = React.render(<anotherComponent/>, dom);
statusHandler.handler = firstContainer;
XMPPConnection(login,pwd,statusHandler.setStatus);
//now changing component
var secondContainer = React.render(<anotherComponent/>, dom);
statusHandler.handler = secondContainer;
或者可以在組件上定義回調,並將其作為參數傳遞(但不能使用靜態函數)
一種可能清除代碼的想法是,在連接狀態更改時發出一個事件。 然后里面你的反應內的部件componentDidMount
聽那個事件,並設置相應的狀態。
像這樣的東西: http : //jsfiddle.net/kb3gN/11114/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.