main.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { LocaleProvider, DatePicker, message } from 'antd';
  4. // 由于 antd 组件的默认文案是英文,所以需要修改为中文
  5. import zhCN from 'antd/lib/locale-provider/zh_CN';
  6. import moment from 'moment';
  7. import 'moment/locale/zh-cn';
  8. import {
  9. Router as HashRouter , // 或者是HashRouter、MemoryRouter
  10. Route, // 这是基本的路由块
  11. Link, // 这是a标签
  12. Switch , // 这是监听空路由的
  13. Redirect, // 这是重定向
  14. Prompt // 防止转换
  15. } from 'react-router-dom';
  16. import createHistory from 'history/createHashHistory';
  17. import App from './app/component/chartDesigner/layout';
  18. const history = createHistory();
  19. import './app/utils/baseUtils';
  20. import './main.less';
  21. moment.locale('zh-cn');
  22. class DateT extends React.Component {
  23. constructor(props) {
  24. super(props);
  25. this.state = {
  26. date: '',
  27. };
  28. }
  29. handleChange(date) {
  30. message.info('您选择的日期是: ' + (date ? date.toString() : ''));
  31. this.setState({ date });
  32. }
  33. render() {
  34. let arr = [1,2,3,4,4,5,6,7];
  35. console.log(arr.map(function(a,i){return a+1;}));
  36. return (
  37. <LocaleProvider locale={zhCN}>
  38. <div style={{ width: 400, margin: '100px auto' }}>
  39. <DatePicker onChange={value => this.handleChange(value)} />
  40. <div style={{ marginTop: 20 }}>当前日期:{this.state.date && this.state.date.toString()}</div>
  41. </div>
  42. </LocaleProvider>
  43. );
  44. }
  45. }
  46. // A simple data API that will be used to get the data for our
  47. // components. On a real website, a more robust data fetching
  48. // solution would be more appropriate.
  49. const PlayerAPI = {
  50. players: [
  51. { number: 1, name: "Ben Blocker", position: "G" },
  52. { number: 2, name: "Dave Defender", position: "D" },
  53. { number: 3, name: "Sam Sweeper", position: "D" },
  54. { number: 4, name: "Matt Midfielder", position: "M" },
  55. { number: 5, name: "William Winger", position: "M" },
  56. { number: 6, name: "Fillipe Forward", position: "F" }
  57. ],
  58. all: function() { return this.players},
  59. get: function(id) {
  60. const isPlayer = p => p.number === id
  61. return this.players.find(isPlayer)
  62. }
  63. }
  64. // The FullRoster iterates over all of the players and creates
  65. // a link to their profile page.
  66. const FullRoster = () => (
  67. <div>
  68. <ul>
  69. {
  70. PlayerAPI.all().map(p => (
  71. <li key={p.number}>
  72. <Link to={`/roster/${p.number}`}>{p.name}</Link>
  73. </li>
  74. ))
  75. }
  76. </ul>
  77. </div>
  78. )
  79. // The Player looks up the player using the number parsed from
  80. // the URL's pathname. If no player is found with the given
  81. // number, then a "player not found" message is displayed.
  82. const Player = (props) => {
  83. const player = PlayerAPI.get(
  84. parseInt(props.match.params.number, 10)
  85. )
  86. if (!player) {
  87. return <div>Sorry, but the player was not found</div>
  88. }
  89. return (
  90. <div>
  91. <h1>{player.name} (#{player.number})</h1>
  92. <h2>Position: {player.position}</h2>
  93. <Link to='/roster'>Back</Link>
  94. </div>
  95. )
  96. }
  97. // The Roster component matches one of two different routes
  98. // depending on the full pathname
  99. const Roster = () => (
  100. <Switch>
  101. <Route exact path='/roster' component={FullRoster}/>
  102. <Route path='/roster/:number' component={Player}/>
  103. </Switch>
  104. )
  105. const Schedule = () => (
  106. <div>
  107. <ul>
  108. <li>6/5 @ Evergreens</li>
  109. <li>6/8 vs Kickers</li>
  110. <li>6/14 @ United</li>
  111. </ul>
  112. </div>
  113. )
  114. const Home = () => (
  115. <div>
  116. <h1>Welcome to the Tornadoes Website!</h1>
  117. </div>
  118. )
  119. const Main = () => (
  120. <main>
  121. <Switch>
  122. <Route exact path='/' component={Home}/>
  123. <Route path='/roster' component={Roster}/>
  124. <Route path='/schedule' component={Schedule}/>
  125. <Route path='/datet' component={DateT}/>
  126. </Switch>
  127. </main>
  128. )
  129. const Header = () => (
  130. <header>
  131. <nav>
  132. <ul>
  133. <li><Link to='/'>Home</Link></li>
  134. <li><Link to='/roster'>Roster</Link></li>
  135. <li><Link to='/schedule1'>Schedule</Link></li>
  136. <li><Link to='/datet'>DateT</Link></li>
  137. </ul>
  138. </nav>
  139. </header>
  140. )
  141. // const App = () => (
  142. // <div>
  143. // <Header />
  144. // <Main />
  145. // </div>
  146. // )
  147. ReactDOM.render((
  148. <LocaleProvider locale={zhCN}>
  149. <HashRouter history={history}>
  150. <App />
  151. </HashRouter>
  152. </LocaleProvider>
  153. ), document.getElementById('root'))