2017-06-22 57 views
1

想象一下inputvalue={this.state.searchText}正確的方法來清除搜索輸入和結果?

search()調用搜索查詢。

哪一個是清除輸入和結果的正確方法?我假設您需要在清除輸入以獲得原始結果後重新運行searchText: ''的查詢。

resetSearch =() => { 
    this.setState({ searchText: '' },() => { 
    this.search(); 
    }); 
} 

search =() => { 
    searchQuery(this.state.searchText); 
} 

resetSearch =() => { 
    this.setState({ searchText: '' }); 
    this.search(''); 
} 

search = (query) => { 
    searchQuery(query); 
} 

回答

0

這是一個風格上的選擇。

在我看來,方法1更明確,更易於閱讀 - 您知道search和searchQuery顯然與狀態相互作用。

第二種方法更適合單元測試,因爲它取決於參數而不是組件狀態。

最後,這是您對可讀性/可測試性IMO的要求。