Repos.js 1007 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import React from "react";
  2. import NavLink from "./NavLink";
  3. export default React.createClass({
  4. contextTypes: {
  5. router: React.PropTypes.object
  6. },
  7. handleSubmit(event) {
  8. event.preventDefault();
  9. const userName = event.target.elements[0].value;
  10. const repo = event.target.elements[1].value;
  11. const path = `/repos/${userName}/${repo}`;
  12. console.log("Path:", path);
  13. this.context.router.push(path);
  14. },
  15. render() {
  16. return (
  17. <div>
  18. <h2>Repos</h2>
  19. <ul>
  20. <li><NavLink to="/repos/reactjs/react-router">React router</NavLink></li>
  21. <li><NavLink to="/repos/facebook/react">React</NavLink></li>
  22. <li>
  23. <form onSubmit={this.handleSubmit}>
  24. <input type="text" placeholder="userName" /> / {' '}
  25. <input type="text" placeholder="repo" /> {' '}
  26. <button type="submit">Go</button>
  27. </form>
  28. </li>
  29. </ul>
  30. {this.props.children}
  31. </div>
  32. );
  33. }
  34. });