Guest User

Untitled

a guest
Feb 16th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. import React from "react";
  2. import ResultsTable from "./ResultsTable";
  3. import CacheInfo from "./CacheInfo";
  4. import CachedSearch from "./CachedSearch";
  5. import { search } from "./dummyApi.js";
  6. export default class SearchExampleComponent extends React.Component {
  7. constructor(props) {
  8. super(props);
  9. this.state = {
  10. query: "",
  11. results: []
  12. };
  13.  
  14. this.handleQueryChange = this.handleQueryChange.bind(this);
  15. this.handleResults = this.handleResults.bind(this);
  16. this.CachedSearch = new CachedSearch(search, this.handleResults);
  17. }
  18.  
  19. handleQueryChange(query) {
  20. this.setState({ query });
  21. this.CachedSearch.changeQuery(query);
  22. }
  23.  
  24. handleResults(results) {
  25. this.setState({ results });
  26. }
  27.  
  28. render() {
  29. return (
  30. <div>
  31. <h3>Class Based Search</h3>
  32. <form>
  33. <label>Search:</label>
  34. <input
  35. onChange={({ target: { value } }) => this.handleQueryChange(value)}
  36. />
  37. </form>
  38.  
  39. <ResultsTable results={this.state.results} />
  40. <CacheInfo cacheObject={this.CachedSearch} />
  41. </div>
  42. );
  43. }
  44. }
Add Comment
Please, Sign In to add comment