Commit 5c2b0362 authored by mayi's avatar mayi
Browse files

类组件与函数式组件与provider的连接

parent fe0f27b0
[{"D:\\code\\reactTravel\\travel2162\\src\\index.tsx":"1","D:\\code\\reactTravel\\travel2162\\src\\App.tsx":"2","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\Header.tsx":"3","D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\Footer.tsx":"4","D:\\code\\reactTravel\\travel2162\\src\\components\\index.ts":"5","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\index.ts":"6","D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\index.ts":"7","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\index.ts":"8","D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\index.ts":"9","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\SideMenu.tsx":"10","D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\carousel.tsx":"11","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\mockup.ts":"12","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\index.ts":"13","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productionCollection.tsx":"14","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productImage.tsx":"15","D:\\code\\reactTravel\\travel2162\\src\\components\\business\\index.ts":"16","D:\\code\\reactTravel\\travel2162\\src\\components\\business\\bussiness.tsx":"17","D:\\code\\reactTravel\\travel2162\\src\\pages\\index.ts":"18","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\index.ts":"19","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\home.tsx":"20","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\mockups.ts":"21","D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\index.ts":"22","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\index.ts":"23","D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\register.tsx":"24","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\signin.tsx":"25","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\index.ts":"26","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\detail.tsx":"27","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\HeaderClass.tsx":"28","D:\\code\\reactTravel\\travel2162\\src\\redux\\store.ts":"29","D:\\code\\reactTravel\\travel2162\\src\\i18n\\configs.ts":"30","D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\language.ts":"31","D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageActions.ts":"32"},{"size":395,"mtime":1622710680745,"results":"33","hashOfConfig":"34"},{"size":744,"mtime":1622697935143,"results":"35","hashOfConfig":"34"},{"size":3000,"mtime":1622700899294,"results":"36","hashOfConfig":"34"},{"size":463,"mtime":1622707864128,"results":"37","hashOfConfig":"34"},{"size":174,"mtime":1622687520514,"results":"38","hashOfConfig":"34"},{"size":29,"mtime":1622702068974,"results":"39","hashOfConfig":"34"},{"size":24,"mtime":1622624779387,"results":"40","hashOfConfig":"34"},{"size":26,"mtime":1622680972119,"results":"41","hashOfConfig":"34"},{"size":26,"mtime":1622681990791,"results":"42","hashOfConfig":"34"},{"size":1221,"mtime":1622682447523,"results":"43","hashOfConfig":"34"},{"size":607,"mtime":1622682193215,"results":"44","hashOfConfig":"34"},{"size":3293,"mtime":1622682220312,"results":"45","hashOfConfig":"34"},{"size":38,"mtime":1622685541148,"results":"46","hashOfConfig":"34"},{"size":3883,"mtime":1622699519599,"results":"47","hashOfConfig":"34"},{"size":984,"mtime":1622699670900,"results":"48","hashOfConfig":"34"},{"size":27,"mtime":1622688158324,"results":"49","hashOfConfig":"34"},{"size":1392,"mtime":1622689645731,"results":"50","hashOfConfig":"34"},{"size":101,"mtime":1622697795743,"results":"51","hashOfConfig":"34"},{"size":22,"mtime":1622695066653,"results":"52","hashOfConfig":"34"},{"size":2316,"mtime":1622707730321,"results":"53","hashOfConfig":"34"},{"size":6945,"mtime":1622689191039,"results":"54","hashOfConfig":"34"},{"size":26,"mtime":1622696658119,"results":"55","hashOfConfig":"34"},{"size":24,"mtime":1622696661468,"results":"56","hashOfConfig":"34"},{"size":238,"mtime":1622696729218,"results":"57","hashOfConfig":"34"},{"size":254,"mtime":1622697071055,"results":"58","hashOfConfig":"34"},{"size":24,"mtime":1622697778294,"results":"59","hashOfConfig":"34"},{"size":360,"mtime":1622697776894,"results":"60","hashOfConfig":"34"},{"size":4583,"mtime":1622712103696,"results":"61","hashOfConfig":"34"},{"size":222,"mtime":1622711804618,"results":"62","hashOfConfig":"34"},{"size":621,"mtime":1622707691438,"results":"63","hashOfConfig":"34"},{"size":891,"mtime":1622709631258,"results":"64","hashOfConfig":"34"},{"size":831,"mtime":1622710683031,"results":"65","hashOfConfig":"34"},{"filePath":"66","messages":"67","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1yicyq7",{"filePath":"68","messages":"69","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"71","messages":"72","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"73","messages":"74","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"75","usedDeprecatedRules":"70"},{"filePath":"76","messages":"77","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"78","messages":"79","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"80","messages":"81","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"82","messages":"83","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"84","messages":"85","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"86","messages":"87","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"88","messages":"89","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"90","usedDeprecatedRules":"70"},{"filePath":"91","messages":"92","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"95","messages":"96","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"97","messages":"98","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"99","messages":"100","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"101","messages":"102","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"103","messages":"104","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"105","messages":"106","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"107","messages":"108","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"109","messages":"110","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"111","messages":"112","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"113","messages":"114","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"115","messages":"116","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"117","usedDeprecatedRules":"70"},{"filePath":"118","messages":"119","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"120","usedDeprecatedRules":"70"},{"filePath":"121","messages":"122","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"123","messages":"124","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"125","usedDeprecatedRules":"70"},{"filePath":"126","messages":"127","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"128","messages":"129","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"130","messages":"131","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"132","messages":"133","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"134","messages":"135","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"D:\\code\\reactTravel\\travel2162\\src\\index.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\App.tsx",[],["136","137"],"D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\Header.tsx",["138","139","140","141"],"D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\Footer.tsx",["142","143","144","145","146"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport { Layout, Typography, Input, Menu, Button, Dropdown } from \"antd\";\r\n\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\n\r\nexport const Footer: React.FC = () => {\r\nconst {t} = useTranslation();\r\n return <>\r\n <Layout.Footer>\r\n <Typography.Title level={3} style={{textAlign: 'center'}}>\r\n {t('footer.detail')}\r\n </Typography.Title>\r\n </Layout.Footer></>;\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\components\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\SideMenu.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\carousel.tsx",["147"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./carousel.module.css\";\r\nimport { Image, Carousel as AntdCarousel } from \"antd\";\r\nimport Carouse1 from \"../../assets/images/carousel_1.jpg\";\r\nimport Carouse2 from \"../../assets/images/carousel_2.jpg\";\r\nimport Carouse3 from \"../../assets/images/carousel_3.jpg\";\r\nexport const Carouseee: React.FC = () => {\r\n return (\r\n <AntdCarousel autoplay className={styles.slider}>\r\n <Image src={Carouse1}></Image>\r\n <Image src={Carouse2}></Image>\r\n <Image src={Carouse3}></Image>\r\n </AntdCarousel>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\mockup.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productionCollection.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productImage.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\business\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\business\\bussiness.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\home.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\mockups.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\register.tsx",["148","149"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./register.module.css\";\r\nexport const Register: React.FC = () => {\r\n return (\r\n <>\r\n {\" \"}\r\n <h1>注册页面</h1>\r\n </>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\signin.tsx",["150","151"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./signin.module.css\";\r\nexport const SignInPage: React.FC = (props) => {\r\n console.log(props)\r\n return (\r\n <>\r\n <h1>登陆页面</h1>\r\n </>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\detail.tsx",["152"],"import * as React from 'react';\r\nimport { Component } from 'react';\r\nimport {RouteComponentProps} from 'react-router-dom';\r\ninterface MatchParams {\r\n tourisRouteId:string\r\n}\r\n export const Deatil:React.FC<RouteComponentProps<MatchParams>> =(props)=>{\r\n return(\r\n <h1>xiangqinguemian,路线id:{props.match.params.tourisRouteId}</h1>\r\n )\r\n }","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\HeaderClass.tsx",["153","154"],"D:\\code\\reactTravel\\travel2162\\src\\redux\\store.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\i18n\\configs.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\language.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageActions.ts",["155","156","157"],{"ruleId":"158","replacedBy":"159"},{"ruleId":"160","replacedBy":"161"},{"ruleId":"162","severity":1,"message":"163","line":3,"column":10,"nodeType":"164","messageId":"165","endLine":3,"endColumn":19},{"ruleId":"162","severity":1,"message":"166","line":17,"column":9,"nodeType":"164","messageId":"165","endLine":17,"endColumn":15},{"ruleId":"162","severity":1,"message":"167","line":18,"column":9,"nodeType":"164","messageId":"165","endLine":18,"endColumn":17},{"ruleId":"162","severity":1,"message":"168","line":19,"column":9,"nodeType":"164","messageId":"165","endLine":19,"endColumn":14},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"169","line":3,"column":30,"nodeType":"164","messageId":"165","endLine":3,"endColumn":35},{"ruleId":"162","severity":1,"message":"170","line":3,"column":37,"nodeType":"164","messageId":"165","endLine":3,"endColumn":41},{"ruleId":"162","severity":1,"message":"171","line":3,"column":43,"nodeType":"164","messageId":"165","endLine":3,"endColumn":49},{"ruleId":"162","severity":1,"message":"172","line":3,"column":51,"nodeType":"164","messageId":"165","endLine":3,"endColumn":59},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"173","line":3,"column":8,"nodeType":"164","messageId":"165","endLine":3,"endColumn":14},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"173","line":3,"column":8,"nodeType":"164","messageId":"165","endLine":3,"endColumn":14},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"163","line":3,"column":10,"nodeType":"164","messageId":"165","endLine":3,"endColumn":19},{"ruleId":"162","severity":1,"message":"174","line":20,"column":3,"nodeType":"164","messageId":"165","endLine":20,"endColumn":16},{"ruleId":"162","severity":1,"message":"175","line":1,"column":8,"nodeType":"164","messageId":"165","endLine":1,"endColumn":16},{"ruleId":"176","severity":1,"message":"177","line":18,"column":14,"nodeType":"164","messageId":"178","endLine":18,"endColumn":41},{"ruleId":"176","severity":1,"message":"179","line":27,"column":14,"nodeType":"164","messageId":"178","endLine":27,"endColumn":38},"no-native-reassign",["180"],"no-negated-in-lhs",["181"],"@typescript-eslint/no-unused-vars","'Component' is defined but never used.","Identifier","unusedVar","'params' is assigned a value but never used.","'location' is assigned a value but never used.","'match' is assigned a value but never used.","'Input' is defined but never used.","'Menu' is defined but never used.","'Button' is defined but never used.","'Dropdown' is defined but never used.","'styles' is defined but never used.","'MenuItemProps' is defined but never used.","'language' is defined but never used.","@typescript-eslint/no-redeclare","'changeLanguageActionCreator' is already defined.","redeclared","'addLanguageActionCreator' is already defined.","no-global-assign","no-unsafe-negation"] [{"D:\\code\\reactTravel\\travel2162\\src\\index.tsx":"1","D:\\code\\reactTravel\\travel2162\\src\\App.tsx":"2","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\Header.tsx":"3","D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\Footer.tsx":"4","D:\\code\\reactTravel\\travel2162\\src\\components\\index.ts":"5","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\index.ts":"6","D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\index.ts":"7","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\index.ts":"8","D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\index.ts":"9","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\SideMenu.tsx":"10","D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\carousel.tsx":"11","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\mockup.ts":"12","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\index.ts":"13","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productionCollection.tsx":"14","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productImage.tsx":"15","D:\\code\\reactTravel\\travel2162\\src\\components\\business\\index.ts":"16","D:\\code\\reactTravel\\travel2162\\src\\components\\business\\bussiness.tsx":"17","D:\\code\\reactTravel\\travel2162\\src\\pages\\index.ts":"18","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\index.ts":"19","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\home.tsx":"20","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\mockups.ts":"21","D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\index.ts":"22","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\index.ts":"23","D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\register.tsx":"24","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\signin.tsx":"25","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\index.ts":"26","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\detail.tsx":"27","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\HeaderClass.tsx":"28","D:\\code\\reactTravel\\travel2162\\src\\redux\\store.ts":"29","D:\\code\\reactTravel\\travel2162\\src\\i18n\\configs.ts":"30","D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageActions.ts":"31","D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageReducer.ts":"32","D:\\code\\reactTravel\\travel2162\\src\\redux\\hooks.ts":"33"},{"size":395,"mtime":1622710680745,"results":"34","hashOfConfig":"35"},{"size":744,"mtime":1622697935143,"results":"36","hashOfConfig":"35"},{"size":3985,"mtime":1622776854019,"results":"37","hashOfConfig":"35"},{"size":463,"mtime":1622707864128,"results":"38","hashOfConfig":"35"},{"size":174,"mtime":1622687520514,"results":"39","hashOfConfig":"35"},{"size":24,"mtime":1622776696728,"results":"40","hashOfConfig":"35"},{"size":24,"mtime":1622624779387,"results":"41","hashOfConfig":"35"},{"size":26,"mtime":1622680972119,"results":"42","hashOfConfig":"35"},{"size":26,"mtime":1622681990791,"results":"43","hashOfConfig":"35"},{"size":1221,"mtime":1622682447523,"results":"44","hashOfConfig":"35"},{"size":607,"mtime":1622682193215,"results":"45","hashOfConfig":"35"},{"size":3293,"mtime":1622682220312,"results":"46","hashOfConfig":"35"},{"size":38,"mtime":1622685541148,"results":"47","hashOfConfig":"35"},{"size":3883,"mtime":1622699519599,"results":"48","hashOfConfig":"35"},{"size":984,"mtime":1622699670900,"results":"49","hashOfConfig":"35"},{"size":27,"mtime":1622688158324,"results":"50","hashOfConfig":"35"},{"size":1392,"mtime":1622689645731,"results":"51","hashOfConfig":"35"},{"size":101,"mtime":1622697795743,"results":"52","hashOfConfig":"35"},{"size":22,"mtime":1622695066653,"results":"53","hashOfConfig":"35"},{"size":2316,"mtime":1622707730321,"results":"54","hashOfConfig":"35"},{"size":6945,"mtime":1622689191039,"results":"55","hashOfConfig":"35"},{"size":26,"mtime":1622696658119,"results":"56","hashOfConfig":"35"},{"size":24,"mtime":1622696661468,"results":"57","hashOfConfig":"35"},{"size":238,"mtime":1622696729218,"results":"58","hashOfConfig":"35"},{"size":254,"mtime":1622697071055,"results":"59","hashOfConfig":"35"},{"size":24,"mtime":1622697778294,"results":"60","hashOfConfig":"35"},{"size":360,"mtime":1622697776894,"results":"61","hashOfConfig":"35"},{"size":4655,"mtime":1622776690214,"results":"62","hashOfConfig":"35"},{"size":229,"mtime":1622769291739,"results":"63","hashOfConfig":"35"},{"size":621,"mtime":1622707691438,"results":"64","hashOfConfig":"35"},{"size":838,"mtime":1622769238587,"results":"65","hashOfConfig":"35"},{"size":909,"mtime":1622769236715,"results":"66","hashOfConfig":"35"},{"size":192,"mtime":1622775841281,"results":"67","hashOfConfig":"35"},{"filePath":"68","messages":"69","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},"1yicyq7",{"filePath":"71","messages":"72","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"73","messages":"74","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"75","messages":"76","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"77","usedDeprecatedRules":"70"},{"filePath":"78","messages":"79","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"80","messages":"81","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"82","messages":"83","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"84","messages":"85","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"86","messages":"87","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"88","messages":"89","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"90","messages":"91","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"92","usedDeprecatedRules":"70"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"95","messages":"96","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"97","messages":"98","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"99","messages":"100","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"101","messages":"102","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"103","messages":"104","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"105","messages":"106","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"107","messages":"108","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"109","messages":"110","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"111","messages":"112","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"113","messages":"114","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"115","messages":"116","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"117","messages":"118","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"119","usedDeprecatedRules":"70"},{"filePath":"120","messages":"121","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"122","usedDeprecatedRules":"70"},{"filePath":"123","messages":"124","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"125","messages":"126","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"127","usedDeprecatedRules":"70"},{"filePath":"128","messages":"129","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"130","messages":"131","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"132","messages":"133","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"70"},{"filePath":"134","messages":"135","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"136","messages":"137","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"138","messages":"139","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"D:\\code\\reactTravel\\travel2162\\src\\index.tsx",[],["140","141"],"D:\\code\\reactTravel\\travel2162\\src\\App.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\Header.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\Footer.tsx",["142","143","144","145","146"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport { Layout, Typography, Input, Menu, Button, Dropdown } from \"antd\";\r\n\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\n\r\nexport const Footer: React.FC = () => {\r\nconst {t} = useTranslation();\r\n return <>\r\n <Layout.Footer>\r\n <Typography.Title level={3} style={{textAlign: 'center'}}>\r\n {t('footer.detail')}\r\n </Typography.Title>\r\n </Layout.Footer></>;\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\components\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\SideMenu.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\carousel.tsx",["147"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./carousel.module.css\";\r\nimport { Image, Carousel as AntdCarousel } from \"antd\";\r\nimport Carouse1 from \"../../assets/images/carousel_1.jpg\";\r\nimport Carouse2 from \"../../assets/images/carousel_2.jpg\";\r\nimport Carouse3 from \"../../assets/images/carousel_3.jpg\";\r\nexport const Carouseee: React.FC = () => {\r\n return (\r\n <AntdCarousel autoplay className={styles.slider}>\r\n <Image src={Carouse1}></Image>\r\n <Image src={Carouse2}></Image>\r\n <Image src={Carouse3}></Image>\r\n </AntdCarousel>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\mockup.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productionCollection.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productImage.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\business\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\business\\bussiness.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\home.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\mockups.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\register.tsx",["148","149"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./register.module.css\";\r\nexport const Register: React.FC = () => {\r\n return (\r\n <>\r\n {\" \"}\r\n <h1>注册页面</h1>\r\n </>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\signin.tsx",["150","151"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./signin.module.css\";\r\nexport const SignInPage: React.FC = (props) => {\r\n console.log(props)\r\n return (\r\n <>\r\n <h1>登陆页面</h1>\r\n </>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\detail.tsx",["152"],"import * as React from 'react';\r\nimport { Component } from 'react';\r\nimport {RouteComponentProps} from 'react-router-dom';\r\ninterface MatchParams {\r\n tourisRouteId:string\r\n}\r\n export const Deatil:React.FC<RouteComponentProps<MatchParams>> =(props)=>{\r\n return(\r\n <h1>xiangqinguemian,路线id:{props.match.params.tourisRouteId}</h1>\r\n )\r\n }","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\HeaderClass.tsx",["153","154"],"D:\\code\\reactTravel\\travel2162\\src\\redux\\store.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\i18n\\configs.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageActions.ts",["155","156","157"],"D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageReducer.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\hooks.ts",[],{"ruleId":"158","replacedBy":"159"},{"ruleId":"160","replacedBy":"161"},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"166","line":3,"column":30,"nodeType":"164","messageId":"165","endLine":3,"endColumn":35},{"ruleId":"162","severity":1,"message":"167","line":3,"column":37,"nodeType":"164","messageId":"165","endLine":3,"endColumn":41},{"ruleId":"162","severity":1,"message":"168","line":3,"column":43,"nodeType":"164","messageId":"165","endLine":3,"endColumn":49},{"ruleId":"162","severity":1,"message":"169","line":3,"column":51,"nodeType":"164","messageId":"165","endLine":3,"endColumn":59},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"170","line":3,"column":8,"nodeType":"164","messageId":"165","endLine":3,"endColumn":14},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"170","line":3,"column":8,"nodeType":"164","messageId":"165","endLine":3,"endColumn":14},{"ruleId":"162","severity":1,"message":"163","line":2,"column":10,"nodeType":"164","messageId":"165","endLine":2,"endColumn":19},{"ruleId":"162","severity":1,"message":"163","line":3,"column":10,"nodeType":"164","messageId":"165","endLine":3,"endColumn":19},{"ruleId":"162","severity":1,"message":"171","line":20,"column":3,"nodeType":"164","messageId":"165","endLine":20,"endColumn":16},{"ruleId":"162","severity":1,"message":"172","line":1,"column":8,"nodeType":"164","messageId":"165","endLine":1,"endColumn":16},{"ruleId":"173","severity":1,"message":"174","line":18,"column":14,"nodeType":"164","messageId":"175","endLine":18,"endColumn":41},{"ruleId":"173","severity":1,"message":"176","line":27,"column":14,"nodeType":"164","messageId":"175","endLine":27,"endColumn":38},"no-native-reassign",["177"],"no-negated-in-lhs",["178"],"@typescript-eslint/no-unused-vars","'Component' is defined but never used.","Identifier","unusedVar","'Input' is defined but never used.","'Menu' is defined but never used.","'Button' is defined but never used.","'Dropdown' is defined but never used.","'styles' is defined but never used.","'MenuItemProps' is defined but never used.","'language' is defined but never used.","@typescript-eslint/no-redeclare","'changeLanguageActionCreator' is already defined.","redeclared","'addLanguageActionCreator' is already defined.","no-global-assign","no-unsafe-negation"]
\ No newline at end of file \ No newline at end of file
//函数式组件 //函数式组件
import * as React from "react"; import * as React from "react";
import { Component } from "react"; // import { Component } from "react";
import logo from "../../assets/logo.svg"; import logo from "../../assets/logo.svg";
import styles from "./Header.module.css"; import styles from "./Header.module.css";
import { Layout, Typography, Input, Menu, Button, Dropdown } from "antd"; import { Layout, Typography, Input, Menu, Button, Dropdown } from "antd";
import { GlobalOutlined } from "@ant-design/icons"; import { GlobalOutlined } from "@ant-design/icons";
import { useSelector } from "../../redux/hooks";
import { useDispatch } from "react-redux";
import { useTranslation } from "react-i18next";
import { import {
useHistory, useHistory,
useParams, // useParams,
useLocation, // useLocation,
useRouteMatch, // useRouteMatch,
} from "react-router-dom"; } from "react-router-dom";
import {
changeLanguageActionCreator,
addLanguageActionCreator,
} from "../../redux/language/languageActions";
export const Header: React.FC = () => { export const Header: React.FC = () => {
const history = useHistory(); const history = useHistory();
const params = useParams(); // const params = useParams();
const location = useLocation(); // const location = useLocation();
const match = useRouteMatch(); // const match = useRouteMatch();
const languageList = useSelector((state) => state.languageList);
const language = useSelector((state) => state.language);
const dispatch = useDispatch();
const { t } = useTranslation();
const changeLanguage = (e) => {
if (e.key === "new") {
// this.props.addLanguage("新语言", "新语言");
dispatch(addLanguageActionCreator("新语言", "新语言"));
} else {
// this.props.changeLanguage(e.key);
dispatch(changeLanguageActionCreator(e.key));
}
};
return ( return (
<> <>
<div className={styles["app-header"]}> <div className={styles["app-header"]}>
...@@ -27,14 +47,16 @@ export const Header: React.FC = () => { ...@@ -27,14 +47,16 @@ export const Header: React.FC = () => {
<Dropdown.Button <Dropdown.Button
style={{ marginLeft: 15 }} style={{ marginLeft: 15 }}
overlay={ overlay={
<Menu> <Menu onClick={changeLanguage}>
<Menu.Item>中文</Menu.Item> {languageList.map((item, index) => (
<Menu.Item>English</Menu.Item> <Menu.Item key={item.code}>{item.name}</Menu.Item>
))}
<Menu.Item key={"new"}>{t("header.slogan")}</Menu.Item>
</Menu> </Menu>
} }
icon={<GlobalOutlined />} icon={<GlobalOutlined />}
> >
语言 {language === "zh" ? "中文" : "English"}
</Dropdown.Button> </Dropdown.Button>
<Button.Group className={styles["button-group"]}> <Button.Group className={styles["button-group"]}>
<Button onClick={() => history.push("register")}>注册</Button> <Button onClick={() => history.push("register")}>注册</Button>
......
//类组件 //类组件
import * as React from "react"; import * as React from "react";
import { Component } from "react"; // import { Component } from "react";
import logo from "../../assets/logo.svg"; import logo from "../../assets/logo.svg";
import styles from "./Header.module.css"; import styles from "./Header.module.css";
import { withTranslation, WithTranslation } from "react-i18next"; import { withTranslation, WithTranslation } from "react-i18next";
...@@ -17,7 +17,7 @@ import { ...@@ -17,7 +17,7 @@ import {
Menu, Menu,
Button, Button,
Dropdown, Dropdown,
MenuItemProps, // MenuItemProps,
} from "antd"; } from "antd";
import { GlobalOutlined } from "@ant-design/icons"; import { GlobalOutlined } from "@ant-design/icons";
import { withRouter, RouteComponentProps } from "react-router-dom"; import { withRouter, RouteComponentProps } from "react-router-dom";
...@@ -128,3 +128,5 @@ class HeaderComponent extends React.Component< ...@@ -128,3 +128,5 @@ class HeaderComponent extends React.Component<
export const Header = connect(mapStateToProps,mapDispatchToProps)( export const Header = connect(mapStateToProps,mapDispatchToProps)(
withTranslation()(withRouter(HeaderComponent)) withTranslation()(withRouter(HeaderComponent))
); );
//6.4日在函数组建里面用connect
//重学redux封装部分
\ No newline at end of file
export * from './HeaderClass' export * from './Header'
\ No newline at end of file \ No newline at end of file
import {useSelector as useReduxSelector,TypedUseSelectorHook} from 'react-redux'
import {RootState} from './store'
export const useSelector:TypedUseSelectorHook<RootState> = useReduxSelector
\ No newline at end of file
import language from "./language"; import language from "./languageReducer";
export const CHANGE_LANGUAGE = "changeLanguage"; export const CHANGE_LANGUAGE = "changeLanguage";
export const ADD_LANGUAGE = "addLanguage"; export const ADD_LANGUAGE = "addLanguage";
......
import i18n from "i18next"; import i18n from "i18next";
import {CHANGE_LANGUAGE,ADD_LANGUAGE,languageActionTypes} from './languageActions' import {
CHANGE_LANGUAGE,
ADD_LANGUAGE,
languageActionTypes,
} from "./languageActions";
export interface LanguageState { export interface LanguageState {
language: "en" | "zh"; language: "en" | "zh";
...@@ -15,10 +19,10 @@ const defaultState: LanguageState = { ...@@ -15,10 +19,10 @@ const defaultState: LanguageState = {
}; };
// eslint-disable-next-line import/no-anonymous-default-export // eslint-disable-next-line import/no-anonymous-default-export
export default (state = defaultState, action:languageActionTypes) => { export default (state = defaultState, action: languageActionTypes) => {
switch (action.type) { switch (action.type) {
case CHANGE_LANGUAGE: case CHANGE_LANGUAGE:
i18n.changeLanguage(action.payload);//此处会导致不是纯函数 i18n.changeLanguage(action.payload); //此处会导致不是纯函数
return { ...state, language: action.payload }; return { ...state, language: action.payload };
case ADD_LANGUAGE: case ADD_LANGUAGE:
return { return {
......
import { createStore } from "redux"; import { createStore } from "redux";
import languageReducer from "./language/language"; import languageReducer from "./language/languageReducer";
const store = createStore(languageReducer); const store = createStore(languageReducer);
export type RootState =ReturnType<typeof store.getState> export type RootState =ReturnType<typeof store.getState>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment