2016-09-13 39 views
0

我正在嘗試使用React和mongo爲我的流星應用程序實現分頁。我傳遞一個極限道具我的訂閱功能,像這樣做到了這一點:如何使React訂閱功能處於被動狀態?

export default class BookListTable extends TrackerReact(React.Component) { 

constructor(props) { 
super(props); 
var limit = this.props.LimitProp 
limit = parseInt(limit) || 5; 
this.state = { 
subscription: { 
booksData: Meteor.subscribe("allBooks", {limit: limit}) 
} 
} 
///// rest of component 

這個偉大的工程首次反應組件呈現,但是當我更新的道具沒有什麼變化。我期望組件使用更新的限制屬性重新呈現 - 但是這不會發生。我錯過了什麼?

圍繞分頁的任何相關信息讚賞!

回答

3

當您更新LimitProp屬性時,組件會重新渲染並更改LimitProp,但構造函數不會再次被調用。 您只複製LimitProp的值來限制,然後在創建組件時使用它,因此狀態(備註)在更改時未更新。我認爲你應該使用componentDidMount

Component Specs and Lifecycle

+0

感謝塞薩爾,這是一個非常明確的解釋。 – ElJefeJames

相關問題