{"componentChunkName":"component---node-modules-narative-gatsby-theme-novela-src-templates-article-template-tsx","path":"/2020-09-04-from-c-to-the-front-end","result":{"pageContext":{"article":{"id":"503f3f2e-3201-58af-9e49-d0272cd7af05","slug":"/2020-09-04-from-c-to-the-front-end","secret":false,"title":"从 C++ 入门到前端","author":"Bryan Lee","date":"September 4th, 2020","dateForSEO":"2020-09-04T00:00:00.000Z","timeToRead":1,"excerpt":"我认为入门 C++ 的意义就是理解上古时代是怎么管理内存的、OOP 诞生的前因后果；而后对 JVM/V8 背后的内存管理需要解决的问题有个基本的概念；进而就可以对闭包/引用类型为何如此设计有个大体理解。","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"从 C++ 入门到前端\",\n  \"slug\": \"2020-09-04-from-c-to-the-front-end\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-09-04T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"我认为入门 C++ 的意义就是理解上古时代是怎么管理内存的、OOP 诞生的前因后果；而后对 JVM/V8 背后的内存管理需要解决的问题有个基本的概念；进而就可以对闭包/引用类型为何如此设计有个大体理解。\",\n  \"tags\": [\"扶言扶语\", \"C++\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", {\n    \"id\": \"入门学-c-是不是找刺激找虐？\"\n  }, \"\\u5165\\u95E8\\u5B66 C++ \\u662F\\u4E0D\\u662F\\u627E\\u523A\\u6FC0/\\u627E\\u8650\\uFF1F\"), mdx(\"p\", null, \"\\u300AC++ Primer Plus\\u300B\\u8FD9\\u672C\\u4E66\\u53EF\\u4EE5\\u5B66\\u5B8C\\uFF0C\\u5B66\\u4E2A\\u57FA\\u7840\\u8FD8\\u662F\\u6CA1\\u5565\\u95EE\\u9898\\u7684\\u3002\"), mdx(\"p\", null, \"\\u6211\\u8BA4\\u4E3A\\u5165\\u95E8 C++ \\u7684\\u610F\\u4E49\\u5C31\\u662F\\u7406\\u89E3\\u4E0A\\u53E4\\u65F6\\u4EE3\\u662F\\u600E\\u4E48\\u7BA1\\u7406\\u5185\\u5B58\\u7684\\u3001OOP \\u8BDE\\u751F\\u7684\\u524D\\u56E0\\u540E\\u679C\\uFF1B\\u800C\\u540E\\u5BF9 JVM/V8 \\u80CC\\u540E\\u7684\\u5185\\u5B58\\u7BA1\\u7406\\u9700\\u8981\\u89E3\\u51B3\\u7684\\u95EE\\u9898\\u6709\\u4E2A\\u57FA\\u672C\\u7684\\u6982\\u5FF5\\uFF1B\\u8FDB\\u800C\\u5C31\\u53EF\\u4EE5\\u5BF9\\u95ED\\u5305/\\u5F15\\u7528\\u7C7B\\u578B\\u4E3A\\u4F55\\u5982\\u6B64\\u8BBE\\u8BA1\\u6709\\u4E2A\\u5927\\u4F53\\u7406\\u89E3\\u3002\"), mdx(\"h2\", {\n    \"id\": \"想当初\"\n  }, \"\\u60F3\\u5F53\\u521D\"), mdx(\"p\", null, \"\\u6211\\u5B66\\u524D\\u7AEF\\u7684\\u65F6\\u5019\\u662F\\u540C\\u6B65\\u628A C++ \\u5B66\\u5230\\u7EBF\\u7A0B\\u6C60\\u5404\\u79CD\\u9501\\uFF0C\\u90A3\\u4F1A JavaScript \\u8FD8\\u5728\\u5404\\u79CD\\u59FF\\u52BF\\u641E\\u539F\\u578B\\u94FE\\u3002\"), mdx(\"p\", null, \"\\u4E00\\u5F00\\u59CB\\u7684\\u65F6\\u5019\\u6211\\u662F\\u628A\\u9501\\u7406\\u89E3\\u6210\\u4E00\\u4E2A\\u5BB9\\u5668\\u7684\\uFF0C\\u540E\\u6765\\u624D\\u60F3\\u660E\\u767D\\u5C31\\u662F\\u4E2A\\u5217\\u8868 + \\u4FE1\\u53F7\\uFF0C\\u5373\\u5728\\u65F6\\u95F4\\u5C3A\\u5EA6\\u4E0A\\u6807\\u8BB0\\u4E00\\u4E2A\\u4EE3\\u7801\\u5757\\uFF0C\\u800C\\u4E0D\\u662F\\u5B57\\u9762\\u610F\\u601D\\u7684\\u628A\\u5B58\\u5728\\u7ADE\\u4E89\\u7684\\u6570\\u636E\\u9501\\u5728\\u4FDD\\u9669\\u67DC\\u91CC\\u3002\"), mdx(\"p\", null, \"\\u300E\\u9501\\u300F\\u8FD9\\u4E2A\\u7FFB\\u8BD1\\u633A\\u5BB9\\u6613\\u8BA9\\u4EBA\\u4EA7\\u751F\\u8BEF\\u89E3\\u7684\\uFF1A\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u5047\\u8BBE\\u4F60\\u5728\\u4EE3\\u7801\\u5757 A \\u548C C \\u91CC\\u7528\\u5230\\u5BF9\\u8C61 B\\uFF0C\\u90A3\\u5C31\\u6709\\u4E00\\u4E2A\\u5173\\u4E8E\\u5BF9\\u8C61 B \\u7684\\u9501\\uFF0C\\u5728\\u6267\\u884C A/C \\u7684\\u5F00\\u5934\\u83B7\\u53D6\\u9501\\uFF08\\u767B\\u8BB0\\u300C\\u6211\\u8981\\u8BBF\\u95EE\\u4E86\\u300D\\uFF09-> \\u7ED3\\u5C3E\\u91CA\\u653E\\u9501\\uFF08\\u8BF4\\u300C\\u6211\\u5B8C\\u4E8B\\u4E86\\u300D\\uFF09\\uFF1B\\u8FD9\\u6837\\u5C31\\u786E\\u4FDD\\u4E86\\u5BF9 B \\u7684\\u8BBF\\u95EE\\u4E0D\\u4F1A\\u53D1\\u751F\\u51B2\\u7A81\\uFF0C\\u4E0D\\u7BA1\\u662F\\u591A\\u4E2A\\u7EBF\\u7A0B\\u540C\\u65F6\\u5728\\u6267\\u884C A \\u7684\\u65F6\\u5019\\u8BBF\\u95EE B\\uFF0C\\u8FD8\\u662F\\u591A\\u4E2A\\u7EBF\\u7A0B\\u5206\\u522B\\u5728\\u6267\\u884C A/C \\u7684\\u65F6\\u5019\\u8BBF\\u95EE B\\u3002\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"\\u5047\\u8BBE\\u4F60\\u8981\\u8BA9\\u5BF9\\u8C61 B \\u548C D \\u90FD\\u907F\\u514D\\u8BFB\\u5199\\u51B2\\u7A81\\uFF0C\\u90A3\\u4E48\\u5982\\u679C\\u4F7F\\u7528 B \\u7684\\u4EE3\\u7801\\u5757\\u5305\\u542B\\u4F7F\\u7528 D \\u7684\\u4EE3\\u7801\\u5757\\uFF0C\\u800C\\u4F7F\\u7528 D \\u7684\\u53E6\\u4E00\\u4E2A\\u4EE3\\u7801\\u5757\\u53C8\\u5305\\u542B\\u4F7F\\u7528 B \\u7684\\u4EE3\\u7801\\u5757\\uFF0C\\u8FD9\\u4E2A\\u65F6\\u5019\\uFF0CB\\u3001D \\u5C31\\u6709\\u53EF\\u80FD\\u6B7B\\u9501\\uFF0C\\u56E0\\u4E3A\\u6B63\\u5728 B \\u4E2D\\u60F3\\u8981\\u62FF D \\u5374\\u62FF\\u4E0D\\u5230\\uFF0C\\u800C\\u6B63\\u5728 D \\u4E2D\\u60F3\\u8981 B \\u5374\\u4E5F\\u62FF\\u4E0D\\u5230\\uFF0C\\u90A3\\u4E48\\u8FD9\\u4E24\\u4E2A\\u7EBF\\u7A0B\\u5C31\\u4F1A\\u6C38\\u8FDC\\u505C\\u6B62\\u6267\\u884C\\u3002\"))), mdx(\"p\", null, \"\\u4E0D\\u8FC7\\u8FD9\\u4E9B\\u90FD\\u662F\\u8FC7\\u65F6\\u7684\\u6280\\u672F\\u4E86\\uFF0C\\u5F53\\u4E0B immutable \\u6570\\u636E\\u7ED3\\u6784\\u624D\\u662F\\u738B\\u9053\\u3002\"), mdx(\"h2\", {\n    \"id\": \"网课说：能把-jquery-源码看懂-70-在国内可以横着走\"\n  }, \"\\u7F51\\u8BFE\\u8BF4\\uFF1A\\u80FD\\u628A jQuery \\u6E90\\u7801\\u770B\\u61C2 70% \\u5728\\u56FD\\u5185\\u53EF\\u4EE5\\u6A2A\\u7740\\u8D70\"), mdx(\"p\", null, \"\\u770B\\u61C2 jQuery \\u8BF4\\u660E\\u667A\\u5546\\u8FC7\\u5173\\uFF0C\\u4F46\\u662F\\u7F16\\u7A0B\\u8FD9\\u4E1C\\u897F\\u8FD8\\u662F\\u8BB2\\u7A76\\u5F52\\u7EB3\\u603B\\u7ED3\\u548C\\u6D1E\\u5BDF\\u529B\\u3002\"), mdx(\"p\", null, \"\\u5F53\\u5E74\\u6211\\u4E00\\u4E2A\\u661F\\u671F\\u770B\\u5B8C\\u300AJavaScript\\u9AD8\\u7EA7\\u7A0B\\u5E8F\\u8BBE\\u8BA1\\u300B\\u8FD9\\u672C\\u4E66\\u53BB\\u627E\\u4E86\\u5DE5\\u4F5C\\uFF0C\\u4E00\\u5929\\u80FD\\u5237\\u4E2A 100 \\u591A\\u9875\\uFF0C\\u5305\\u62EC\\u4EE3\\u7801\\u5B9E\\u8DF5\\u90E8\\u5206\\uFF1B\\u4F46\\u6211\\u90A3\\u4F1A\\u5DF2\\u7ECF\\u5B66\\u4E86\\u534A\\u5E74\\u7F16\\u7A0B\\uFF0CC++ \\u90FD\\u5B66\\u4E86\\u597D\\u591A\\u4E1C\\u897F\\uFF0C\\u8BF4\\u5230\\u5E95\\u5C31\\u662F\\u505A\\u4E2A\\u67E5\\u6F0F\\u8865\\u7F3A\\u3002\"));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAADAgT/2gAMAwEAAhADEAAAAeZrSlGxIHo//8QAGRAAAwEBAQAAAAAAAAAAAAAAAAECEQMT/9oACAEBAAEFAvI5Q5putdjplN7/AP/EABkRAQACAwAAAAAAAAAAAAAAAAEAERIiUf/aAAgBAwEBPwHYbJk8n//EABoRAAICAwAAAAAAAAAAAAAAAAABAhESIVH/2gAIAQIBAT8BuL0zGPD/xAAZEAACAwEAAAAAAAAAAAAAAAAAARARMWH/2gAIAQEABj8CwuF2NZ//xAAaEAEAAgMBAAAAAAAAAAAAAAABABEhQXFR/9oACAEBAAE/IXS1wUSkI1NkQMDKoa+TmHs//9oADAMBAAIAAwAAABDUL//EABgRAQEAAwAAAAAAAAAAAAAAAAEAIUGh/9oACAEDAQE/EF0AkHPV/8QAGBEAAwEBAAAAAAAAAAAAAAAAABExAZH/2gAIAQIBAT8QQRTFRw//xAAcEAEAAwACAwAAAAAAAAAAAAABABEhMVFBYfH/2gAIAQEAAT8QFahTz9nc0Td69xaFegZkqW4k1wS8GXbmALfYdn//2Q==","aspectRatio":1.5031847133757963,"src":"/static/d1109ade9651d605dcff25c5f8bc014a/58fe7/hero.jpg","srcSet":"/static/d1109ade9651d605dcff25c5f8bc014a/e0f30/hero.jpg 236w,\n/static/d1109ade9651d605dcff25c5f8bc014a/86afd/hero.jpg 472w,\n/static/d1109ade9651d605dcff25c5f8bc014a/58fe7/hero.jpg 944w,\n/static/d1109ade9651d605dcff25c5f8bc014a/02748/hero.jpg 1416w,\n/static/d1109ade9651d605dcff25c5f8bc014a/5c241/hero.jpg 1888w,\n/static/d1109ade9651d605dcff25c5f8bc014a/4f260/hero.jpg 2252w","srcWebp":"/static/d1109ade9651d605dcff25c5f8bc014a/99fbb/hero.webp","srcSetWebp":"/static/d1109ade9651d605dcff25c5f8bc014a/77392/hero.webp 236w,\n/static/d1109ade9651d605dcff25c5f8bc014a/1f177/hero.webp 472w,\n/static/d1109ade9651d605dcff25c5f8bc014a/99fbb/hero.webp 944w,\n/static/d1109ade9651d605dcff25c5f8bc014a/4a492/hero.webp 1416w,\n/static/d1109ade9651d605dcff25c5f8bc014a/b0b8f/hero.webp 1888w,\n/static/d1109ade9651d605dcff25c5f8bc014a/2f384/hero.webp 2252w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAADAgT/2gAMAwEAAhADEAAAAeZrSlGxIHo//8QAGRAAAwEBAQAAAAAAAAAAAAAAAAECEQMT/9oACAEBAAEFAvI5Q5putdjplN7/AP/EABkRAQACAwAAAAAAAAAAAAAAAAEAERIiUf/aAAgBAwEBPwHYbJk8n//EABoRAAICAwAAAAAAAAAAAAAAAAABAhESIVH/2gAIAQIBAT8BuL0zGPD/xAAZEAACAwEAAAAAAAAAAAAAAAAAARARMWH/2gAIAQEABj8CwuF2NZ//xAAaEAEAAgMBAAAAAAAAAAAAAAABABEhQXFR/9oACAEBAAE/IXS1wUSkI1NkQMDKoa+TmHs//9oADAMBAAIAAwAAABDUL//EABgRAQEAAwAAAAAAAAAAAAAAAAEAIUGh/9oACAEDAQE/EF0AkHPV/8QAGBEAAwEBAAAAAAAAAAAAAAAAABExAZH/2gAIAQIBAT8QQRTFRw//xAAcEAEAAwACAwAAAAAAAAAAAAABABEhMVFBYfH/2gAIAQEAAT8QFahTz9nc0Td69xaFegZkqW4k1wS8GXbmALfYdn//2Q==","aspectRatio":1.5092592592592593,"src":"/static/d1109ade9651d605dcff25c5f8bc014a/1dc0b/hero.jpg","srcSet":"/static/d1109ade9651d605dcff25c5f8bc014a/3a5ce/hero.jpg 163w,\n/static/d1109ade9651d605dcff25c5f8bc014a/05730/hero.jpg 327w,\n/static/d1109ade9651d605dcff25c5f8bc014a/1dc0b/hero.jpg 653w,\n/static/d1109ade9651d605dcff25c5f8bc014a/f72c7/hero.jpg 980w,\n/static/d1109ade9651d605dcff25c5f8bc014a/6e4a3/hero.jpg 1306w,\n/static/d1109ade9651d605dcff25c5f8bc014a/4f260/hero.jpg 2252w","srcWebp":"/static/d1109ade9651d605dcff25c5f8bc014a/0acdf/hero.webp","srcSetWebp":"/static/d1109ade9651d605dcff25c5f8bc014a/ac59e/hero.webp 163w,\n/static/d1109ade9651d605dcff25c5f8bc014a/7660b/hero.webp 327w,\n/static/d1109ade9651d605dcff25c5f8bc014a/0acdf/hero.webp 653w,\n/static/d1109ade9651d605dcff25c5f8bc014a/75470/hero.webp 980w,\n/static/d1109ade9651d605dcff25c5f8bc014a/68d47/hero.webp 1306w,\n/static/d1109ade9651d605dcff25c5f8bc014a/2f384/hero.webp 2252w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAwX/xAAWAQEBAQAAAAAAAAAAAAAAAAADAgT/2gAMAwEAAhADEAAAAeZrSlGxIHo//8QAGRAAAwEBAQAAAAAAAAAAAAAAAAECEQMT/9oACAEBAAEFAvI5Q5putdjplN7/AP/EABkRAQACAwAAAAAAAAAAAAAAAAEAERIiUf/aAAgBAwEBPwHYbJk8n//EABoRAAICAwAAAAAAAAAAAAAAAAABAhESIVH/2gAIAQIBAT8BuL0zGPD/xAAZEAACAwEAAAAAAAAAAAAAAAAAARARMWH/2gAIAQEABj8CwuF2NZ//xAAaEAEAAgMBAAAAAAAAAAAAAAABABEhQXFR/9oACAEBAAE/IXS1wUSkI1NkQMDKoa+TmHs//9oADAMBAAIAAwAAABDUL//EABgRAQEAAwAAAAAAAAAAAAAAAAEAIUGh/9oACAEDAQE/EF0AkHPV/8QAGBEAAwEBAAAAAAAAAAAAAAAAABExAZH/2gAIAQIBAT8QQRTFRw//xAAcEAEAAwACAwAAAAAAAAAAAAABABEhMVFBYfH/2gAIAQEAAT8QFahTz9nc0Td69xaFegZkqW4k1wS8GXbmALfYdn//2Q==","aspectRatio":1.5,"src":"/static/d1109ade9651d605dcff25c5f8bc014a/eaa58/hero.jpg","srcSet":"/static/d1109ade9651d605dcff25c5f8bc014a/5a3ee/hero.jpg 114w,\n/static/d1109ade9651d605dcff25c5f8bc014a/41f8f/hero.jpg 229w,\n/static/d1109ade9651d605dcff25c5f8bc014a/eaa58/hero.jpg 457w,\n/static/d1109ade9651d605dcff25c5f8bc014a/c309b/hero.jpg 686w,\n/static/d1109ade9651d605dcff25c5f8bc014a/e3008/hero.jpg 914w,\n/static/d1109ade9651d605dcff25c5f8bc014a/4f260/hero.jpg 2252w","srcWebp":"/static/d1109ade9651d605dcff25c5f8bc014a/15384/hero.webp","srcSetWebp":"/static/d1109ade9651d605dcff25c5f8bc014a/31fce/hero.webp 114w,\n/static/d1109ade9651d605dcff25c5f8bc014a/e3e25/hero.webp 229w,\n/static/d1109ade9651d605dcff25c5f8bc014a/15384/hero.webp 457w,\n/static/d1109ade9651d605dcff25c5f8bc014a/0258d/hero.webp 686w,\n/static/d1109ade9651d605dcff25c5f8bc014a/64ea2/hero.webp 914w,\n/static/d1109ade9651d605dcff25c5f8bc014a/2f384/hero.webp 2252w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/d1109ade9651d605dcff25c5f8bc014a/0ff54/hero.jpg"}}},"authors":[{"authorsPage":true,"bio":"Web Developer. Now prefer TypeScript and Rust, mainly working on UED.\n","id":"7d3dbfdc-58e9-5099-b0f3-ca98ddc04463","name":"Bryan Lee","featured":true,"social":[{"url":"https://github.com/liby"},{"url":"https://twitter.com/meetliby"}],"slug":"/authors/bryan-lee","avatar":{"small":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/afb2b/bryan-lee.jpg 13w,\n/static/112d7159f7c020bdec3bdf12fb558466/7c20e/bryan-lee.jpg 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/03612/bryan-lee.jpg 75w,\n/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/58718/bryan-lee.webp 13w,\n/static/112d7159f7c020bdec3bdf12fb558466/74aad/bryan-lee.webp 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/ed320/bryan-lee.webp 75w,\n/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 50px) 100vw, 50px"},"medium":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/7c20e/bryan-lee.jpg 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/fa1ea/bryan-lee.jpg 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/61cdf/bryan-lee.jpg 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/59538/bryan-lee.jpg 150w,\n/static/112d7159f7c020bdec3bdf12fb558466/fd013/bryan-lee.jpg 200w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/74aad/bryan-lee.webp 25w,\n/static/112d7159f7c020bdec3bdf12fb558466/e7b2c/bryan-lee.webp 50w,\n/static/112d7159f7c020bdec3bdf12fb558466/66016/bryan-lee.webp 100w,\n/static/112d7159f7c020bdec3bdf12fb558466/d9b14/bryan-lee.webp 150w,\n/static/112d7159f7c020bdec3bdf12fb558466/6b183/bryan-lee.webp 200w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 100px) 100vw, 100px"},"large":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAe5VadK7YMR0wPUBz//EABwQAAMBAAIDAAAAAAAAAAAAAAECAwAEEhEhMv/aAAgBAQABBQKXVcWnTBnnrwHYIGI40tRj5j9A+v/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABgRAAIDAAAAAAAAAAAAAAAAAAABEBFR/9oACAECAQE/AWi0bH//xAAfEAACAgIBBQAAAAAAAAAAAAAAAREhAhIQMkFRcYH/2gAIAQEABj8Czy26nRqx4ryTM3MCruXL+jPfH//EABsQAAMBAQEBAQAAAAAAAAAAAAABESExUUGB/9oACAEBAAE/IciyprpKg3+DnlXilF99PwgGhJan1sVAzTb6Y4f/2gAMAwEAAgADAAAAEF/4/wD/xAAXEQEBAQEAAAAAAAAAAAAAAAABABEx/9oACAEDAQE/EDMnscJv/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQESH/2gAIAQIBAT8Q6LsMo0//xAAgEAEBAAIBAwUAAAAAAAAAAAABEQAhMRBRYYGhweHx/9oACAEBAAE/EApBPFBUr5uXjxBXbN86azXHxMCnKLRDzJzvNcUtyQHeIVKqFX0wZktfb8x4pRs7376J/9k=","aspectRatio":1,"src":"/static/112d7159f7c020bdec3bdf12fb558466/ec46e/bryan-lee.jpg","srcSet":"/static/112d7159f7c020bdec3bdf12fb558466/a2637/bryan-lee.jpg 82w,\n/static/112d7159f7c020bdec3bdf12fb558466/15203/bryan-lee.jpg 164w,\n/static/112d7159f7c020bdec3bdf12fb558466/ec46e/bryan-lee.jpg 328w,\n/static/112d7159f7c020bdec3bdf12fb558466/f86e8/bryan-lee.jpg 460w","srcWebp":"/static/112d7159f7c020bdec3bdf12fb558466/5a48e/bryan-lee.webp","srcSetWebp":"/static/112d7159f7c020bdec3bdf12fb558466/2d087/bryan-lee.webp 82w,\n/static/112d7159f7c020bdec3bdf12fb558466/29d87/bryan-lee.webp 164w,\n/static/112d7159f7c020bdec3bdf12fb558466/5a48e/bryan-lee.webp 328w,\n/static/112d7159f7c020bdec3bdf12fb558466/d908f/bryan-lee.webp 460w","sizes":"(max-width: 328px) 100vw, 328px"}}}],"basePath":"/","permalink":"https://liby.github.io/2020-09-04-from-c-to-the-front-end/","slug":"/2020-09-04-from-c-to-the-front-end","id":"503f3f2e-3201-58af-9e49-d0272cd7af05","title":"从 C++ 入门到前端","canonicalUrl":null,"mailchimp":"","next":[{"id":"466e2ede-954a-584f-968e-07c063ffa1ea","slug":"/2020-08-27-quotation-from-a-androgynous","secret":false,"title":"从 Form 到 Model 层的讨论","author":"Bryan Lee","date":"August 27th, 2020","dateForSEO":"2020-08-27T00:00:00.000Z","timeToRead":1,"excerpt":"这就是观察者模式的代价，你做到了消费者按需订阅，你能自动响应变化，但你不能再回溯到事件的根源，所以这个时候你需要合并同步更新。","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"从 Form 到 Model 层的讨论\",\n  \"slug\": \"2020-08-27-quotation-from-a-androgynous\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-08-27T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"这就是观察者模式的代价，你做到了消费者按需订阅，你能自动响应变化，但你不能再回溯到事件的根源，所以这个时候你需要合并同步更新。\",\n  \"tags\": [\"扶言扶语\", \"Form\", \"MVVM\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", {\n    \"id\": \"关于-formik\"\n  }, \"\\u5173\\u4E8E Formik\"), mdx(\"p\", null, \"Formik \\u6027\\u80FD\\u6709\\u95EE\\u9898\\uFF0C\\u800C\\u4E14\\u5F3A\\u4F9D\\u8D56 React\\uFF1AModel \\u548C ViewModel \\u6DF7\\u5728\\u4E00\\u8D77\\uFF0C\\u8FD8\\u5F3A\\u4F9D\\u8D56\\u4E00\\u4E2A View \\u5C42\\u6846\\u67B6\\uFF0C\\u600E\\u4E48\\u53EF\\u80FD\\u662F\\u597D\\u7684\\u8BBE\\u8BA1\\uFF1BRedux \\u8FD9\\u5957\\u4E1C\\u897F\\u5C31\\u4E0D\\u5BF9\\u3002\"), mdx(\"p\", null, \"React \\u7684 View \\u5C42\\u8C03\\u5EA6\\u4E5F\\u662F\\u5F88\\u725B\\u903C\\u4F46\\u662F\\u5E94\\u8BE5\\u907F\\u514D\\u4F7F\\u7528\\u7684\\u4E1C\\u897F\\uFF1AHooks \\u7528\\u6765\\u505A\\u903B\\u8F91\\u590D\\u7528\\u53EF\\u4EE5\\uFF0C\\u7528\\u6765\\u505A Model \\u5C31\\u662F\\u626F\\u6DE1\\u3002\"), mdx(\"h2\", {\n    \"id\": \"关于-dva\"\n  }, \"\\u5173\\u4E8E Dva\"), mdx(\"p\", null, \"Dva \\u662F\\u50BB\\u903C\\u73A9\\u610F\\uFF1AUmi \\u601D\\u8DEF\\u5F88\\u5BF9\\uFF0C\\u88AB Dva \\u5751\\u4E86\"), mdx(\"h2\", {\n    \"id\": \"关于-model-层\"\n  }, \"\\u5173\\u4E8E Model \\u5C42\"), mdx(\"p\", null, \"\\u9AD8\\u9636\\u7EC4\\u4EF6\\u4E0D\\u80FD\\u80DC\\u4EFB Model \\u5C42\\u7684\\u5DE5\\u4F5C\\uFF0CModel \\u662F\\u8981\\u5355\\u72EC\\u8BBE\\u8BA1\\u7684\\u4E00\\u4E2A\\u4E1C\\u897F\\uFF0C\\u4E0D\\u5E94\\u8BE5\\u53C2\\u6742\\u4EFB\\u4F55 View \\u5C42\\u7684\\u4E1C\\u897F\\u3002\"), mdx(\"p\", null, \"React \\u8BF4\\u597D\\u7684\\u53EA\\u505A View \\u5C42\\u3002Fiber \\u5C31\\u597D\\u597D\\u505A Time slicing \\u5C31\\u5B8C\\u4E8B\\u4E86\\uFF0C\\u975E\\u8981\\u628A\\u8C03\\u5EA6\\u4E5F\\u505A\\u8FDB\\u53BB\\uFF0C\\u5173\\u952E React \\u7684\\u8C03\\u5EA6\\u6700\\u7EC8\\u662F\\u7528\\u6765\\u505A vdom diff \\u7684\\uFF0Cvdom diff \\u662F\\u65E0\\u8111 diff\\uFF0C\\u8BF4\\u4EC0\\u4E48\\u90FD\\u4E0D\\u53EF\\u80FD\\u6BD4\\u7ECF\\u8FC7\\u826F\\u597D\\u8BBE\\u8BA1\\u7684model\\u5C42\\u8C03\\u5EA6\\u66F4\\u5FEB\\uFF1B\\u800C\\u4E14\\u672C\\u6765 Mmdel \\u5C42\\u5982\\u679C\\u8981\\u5B9E\\u73B0\\u4F4E\\u8026\\u5408\\u7684\\u9AD8\\u5EA6\\u590D\\u7528\\uFF0C\\u5C31\\u662F\\u9700\\u8981\\u81EA\\u8EAB\\u6709\\u8C03\\u5EA6\\u673A\\u5236\\u7684\\uFF0C\\u80FD\\u5728 Model \\u505A\\u597D\\u7684\\u624B\\u52A8\\u8C03\\u5EA6\\uFF0C\\u5C31\\u4E0D\\u8981\\u653E\\u5230 View \\u5C42\\u65E0\\u8111 diff \\u4E86\\u3002\"), mdx(\"p\", null, \"MVC \\u4F53\\u7CFB\\u662F\\u5206\\u5F62\\u7684\\uFF0CModel \\u81EA\\u8EAB\\u4E5F\\u53EF\\u4EE5\\u662F\\u4E00\\u4E2A\\u72EC\\u7ACB\\u7684 MVC\\uFF0C\\u5BF9 MVVM \\u6765\\u8BF4\\uFF0CModel\\u3001View\\u3001ViewModel \\u672C\\u8EAB\\u5C31\\u662F\\u9488\\u5BF9\\u4E00\\u4E2A I/O \\u7684\\u63A5\\u53E3\\u505A\\u8BBE\\u8BA1\\uFF0C\\u51ED\\u5565\\u4EBA\\u5BB6 Model \\u4E5F\\u8981\\u8DDF\\u7740\\u4F60 React \\u641E\\u51FD\\u6570\\u5F0F\\uFF1F\"), mdx(\"p\", null, \"Model \\u5C42\\u5982\\u679C\\u662F\\u4E00\\u4E2A\\u5355\\u72EC\\u7684 Model\\uFF0C\\u90A3\\u4E48\\u5C31\\u4E0D\\u5B58\\u5728\\u8C03\\u5EA6\\u4E00\\u8BF4\\uFF1B\\u4F46\\u5982\\u679C\\u662F\\u591A\\u4E2A Model \\u5173\\u8054\\uFF0C\\u90A3\\u4E48\\u5C31\\u9700\\u8981\\u8C03\\u5EA6\\u4E86\\uFF0C\\u56E0\\u4E3A\\u591A\\u4E2A Model \\u4E4B\\u95F4\\u8981\\u901A\\u4FE1\\uFF0C\\u53C8\\u4E0D\\u80FD\\u8026\\u5408\\uFF0C\\u800C\\u67D0\\u4E2A\\u7EC4\\u4EF6\\u53C8\\u53EF\\u80FD\\u8981\\u8BA2\\u9605\\u591A\\u4E2A Model \\u7684\\u66F4\\u65B0\\uFF0C\\u5BF9\\u4E8E\\u8FD9\\u4E9B\\u66F4\\u65B0\\u7684\\u6765\\u6E90\\u548C\\u5408\\u5E76\\uFF0C\\u5C31\\u9700\\u8981\\u8C03\\u5EA6\\u4E86\\uFF1B\\u603B\\u4E4B\\u5C31\\u662F\\u591A\\u4E2A Model \\u5408\\u6210\\u4E00\\u4E2A\\u5927\\u7684 Model\\uFF0C\\u53C8\\u9700\\u8981\\u53EF\\u4EE5\\u72EC\\u7ACB\\u4F7F\\u7528\\uFF0C\\u8FD9\\u4E2D\\u95F4\\u662F\\u9700\\u8981\\u8C03\\u5EA6\\u7684\\u3002\"), mdx(\"h2\", {\n    \"id\": \"form-与-model\"\n  }, \"Form \\u4E0E Model\"), mdx(\"p\", null, \"\\u4EE5 Form \\u8868\\u5355\\u6765\\u8BF4\\uFF0C\\u5176\\u5B9E\\u5B83\\u5C31\\u4E00\\u4E2A Model\\uFF0C\\u4F60\\u522B\\u770B Formily \\u91CC\\u9762\\u6709 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Form\"), \"\\u3001\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"FormHeart\"), \"\\u3001\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"FormGraph\"), \"\\u3001\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"*Field\"), \" \\u7B49\\uFF0C\\u770B\\u540D\\u5B57\\u597D\\u50CF\\u90FD\\u662F Model\\uFF0C\\u5176\\u5B9E\\u4ED6\\u4EEC\\u5C31\\u662F\\u5B9E\\u73B0\\u4E86 Subscribable \\u7684\\u7684\\u666E\\u901A\\u7C7B\\u5B9E\\u4F8B\\uFF0C\\u90A3\\u53EA\\u662F\\u5BF9\\u8C61\\u5185\\u90E8\\u7ED3\\u6784\\u548C Form \\u8FD9\\u4E2A Model \\u7684\\u5185\\u90E8\\u901A\\u4FE1\\uFF0C\\u8FD9\\u91CC\\u8FB9\\u5176\\u5B9E\\u662F\\u4E0D\\u5B58\\u5728\\u8C03\\u5EA6\\u7684\\u3002\\n\\u5BF9\\u4E8E Form \\u8FD9\\u4E2A Model \\u6765\\u8BF4\\uFF0C\\u76F4\\u63A5\\u6839\\u636E field \\u70B9\\u5BF9\\u70B9\\u8BA2\\u9605\\u5C31\\u5B8C\\u4E8B\\u4E86\\uFF0C\\u6839\\u672C\\u7528\\u4E0D\\u7740\\u653E\\u5230 React \\u91CC\\u8D70\\u4E00\\u5806\\u65E0\\u8111\\u7684\\u91CD\\u590D\\u6E32\\u67D3\\u548C diff\\u3002\"), mdx(\"p\", null, \"\\u300C\\u8BA2\\u9605\\u300D\\u8FD9\\u4E2A\\u884C\\u4E3A\\u672C\\u8EAB\\u662F\\u9700\\u8981\\u4E00\\u5B9A\\u7684\\u300C\\u8C03\\u5EA6\\u300D\\u7684\\uFF0C\\u56E0\\u4E3A\\u4F60\\u8BA2\\u9605\\u7684\\u591A\\u4E2A\\u6570\\u636E\\u6E90\\u7684\\u66F4\\u65B0\\u53EF\\u80FD\\u4E0D\\u5728\\u4E00\\u4E2A\\u8C03\\u7528\\u6808\\u91CC\\uFF0C\\u6240\\u4EE5\\u53EA\\u80FD\\u901A\\u8FC7\\u8C03\\u5EA6\\u7684\\u65B9\\u5F0F\\u540C\\u6B65\\u3002\"), mdx(\"p\", null, \"Model \\u4E4B\\u6240\\u4EE5\\u4E0D\\u5728\\u4E00\\u4E2A\\u8C03\\u7528\\u6808\\u91CC\\uFF0C\\u662F\\u56E0\\u4E3A\\uFF1A\\u5BF9\\u4E8E\\u58F0\\u660E\\u5F0F\\u7F16\\u7A0B\\uFF0C\\u6D88\\u606F\\u5728\\u53D1\\u51FA\\u7684\\u65F6\\u5019\\u662F\\u4E0D\\u77E5\\u9053\\u5B83\\u4F1A\\u5BFC\\u81F4\\u54EA\\u4E9B\\u7EC4\\u4EF6\\u53D8\\u5316\\u7684\\uFF0C\\u800C\\u662F\\u53D1\\u51FA\\u7684\\u6D88\\u606F\\u5BFC\\u81F4 Model \\u5C42\\u6570\\u636E\\u4EA7\\u751F\\u53D8\\u5316\\u540E\\u88AB\\u7EC4\\u4EF6\\u8BA2\\u9605\\u3002\\n\\u8FD9\\u5C31\\u662F\\u89C2\\u5BDF\\u8005\\u6A21\\u5F0F\\u7684\\u4EE3\\u4EF7\\uFF0C\\u4F60\\u505A\\u5230\\u4E86\\u6D88\\u8D39\\u8005\\u6309\\u9700\\u8BA2\\u9605\\uFF0C\\u4F60\\u80FD\\u81EA\\u52A8\\u54CD\\u5E94\\u53D8\\u5316\\uFF0C\\u4F46\\u4F60\\u4E0D\\u80FD\\u518D\\u56DE\\u6EAF\\u5230\\u4E8B\\u4EF6\\u7684\\u6839\\u6E90\\uFF0C\\u6240\\u4EE5\\u8FD9\\u4E2A\\u65F6\\u5019\\u4F60\\u9700\\u8981\\u5408\\u5E76\\u540C\\u6B65\\u66F4\\u65B0\\u3002\"), mdx(\"h2\", {\n    \"id\": \"关于-view-层\"\n  }, \"\\u5173\\u4E8E View \\u5C42\"), mdx(\"p\", null, \"View \\u5C42\\u8C03\\u5EA6\\u6700\\u7B80\\u5355\\u7684\\u4F8B\\u5B50\\u5C31\\u662F\\uFF1A\\u7EC4\\u4EF6 A \\u7684\\u6570\\u636E\\u6765\\u6E90\\u6709 Props\\u3001State \\u4EE5\\u53CA\\u5916\\u90E8 Store\\u3002\"), mdx(\"p\", null, \"\\u5982\\u679C\\u67D0\\u4E00\\u4E2A\\u4E8B\\u4EF6\\u89E6\\u53D1\\u4E86 Store \\u7684\\u53D8\\u5316\\uFF0C\\u8FD9\\u4E2A\\u53D8\\u5316\\u5BFC\\u81F4\\u4E86\\u7236\\u7EC4\\u4EF6\\u7ED9 A \\u7684 Props \\u7684\\u53D8\\u5316\\uFF0C\\u540C\\u65F6\\u7EC4\\u4EF6 A \\u5B83\\u81EA\\u5DF1\\u4E5F\\u53EF\\u80FD\\u7528 State \\u4FDD\\u5B58\\u4E86\\u67D0\\u4E9B\\u53D8\\u5316\\uFF1B\\u8FD9\\u5C31\\u4F1A\\u5BFC\\u81F4 3 \\u6B21\\u72B6\\u6001\\u53D8\\u66F4\\uFF0C\\u800C\\u5B83\\u4EEC\\u5176\\u5B9E\\u662F\\u53EF\\u4EE5\\u5408\\u5E76\\u7684\\uFF0CReact \\u5C31\\u662F\\u5728\\u4F18\\u5316\\u8FD9\\u4E2A\\u8C03\\u5EA6\\u7684\\u6027\\u80FD\\u3002\"), mdx(\"p\", null, \"\\u4F46\\u662F\\u4F60\\u628A Model \\u5C42\\u672C\\u6765\\u53EF\\u4EE5\\u6309\\u9700\\u8BA2\\u9605\\u7684\\u4E1C\\u897F\\u4EA4\\u7ED9 React \\u6765 diff \\u5C31\\u5F88\\u626F\\u6DE1\\u4E86\\uFF0C\\u6BD4\\u5982 Formik\\u3001Redux-form \\u4EE5\\u53CA Ant Design\\u7684form\\uFF0C\\u90FD\\u662F\\u5751\\u7239\\u73A9\\u610F\\u3002\"));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAgX/xAAXAQADAQAAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAHnLfueuQrA/wD/xAAaEAACAgMAAAAAAAAAAAAAAAAAAQIQERIh/9oACAEBAAEFApO3BGncH//EABcRAAMBAAAAAAAAAAAAAAAAAAABAxH/2gAIAQMBAT8BdGaf/8QAFhEAAwAAAAAAAAAAAAAAAAAAAQIQ/9oACAECAQE/AQs//8QAFxAAAwEAAAAAAAAAAAAAAAAAAAEQEf/aAAgBAQAGPwKoyf/EABkQAQEBAAMAAAAAAAAAAAAAAAERABAhkf/aAAgBAQABPyHffFVK3IGJ5p3/2gAMAwEAAgADAAAAEN8P/8QAFxEBAQEBAAAAAAAAAAAAAAAAEQABIf/aAAgBAwEBPxBBY+l//8QAFxEBAAMAAAAAAAAAAAAAAAAAAAERMf/aAAgBAgEBPxCCmP/EABoQAQADAQEBAAAAAAAAAAAAAAEAETFRIYH/2gAIAQEAAT8Q6WRNSokknq57Boxrbk42fZ//2Q==","aspectRatio":1.5031847133757963,"src":"/static/ef25ec43000cab4b3d55683c117876ed/58fe7/hero.jpg","srcSet":"/static/ef25ec43000cab4b3d55683c117876ed/e0f30/hero.jpg 236w,\n/static/ef25ec43000cab4b3d55683c117876ed/86afd/hero.jpg 472w,\n/static/ef25ec43000cab4b3d55683c117876ed/58fe7/hero.jpg 944w,\n/static/ef25ec43000cab4b3d55683c117876ed/02748/hero.jpg 1416w,\n/static/ef25ec43000cab4b3d55683c117876ed/5c241/hero.jpg 1888w,\n/static/ef25ec43000cab4b3d55683c117876ed/e3277/hero.jpg 2250w","srcWebp":"/static/ef25ec43000cab4b3d55683c117876ed/99fbb/hero.webp","srcSetWebp":"/static/ef25ec43000cab4b3d55683c117876ed/77392/hero.webp 236w,\n/static/ef25ec43000cab4b3d55683c117876ed/1f177/hero.webp 472w,\n/static/ef25ec43000cab4b3d55683c117876ed/99fbb/hero.webp 944w,\n/static/ef25ec43000cab4b3d55683c117876ed/4a492/hero.webp 1416w,\n/static/ef25ec43000cab4b3d55683c117876ed/b0b8f/hero.webp 1888w,\n/static/ef25ec43000cab4b3d55683c117876ed/d168a/hero.webp 2250w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAgX/xAAXAQADAQAAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAHnLfueuQrA/wD/xAAaEAACAgMAAAAAAAAAAAAAAAAAAQIQERIh/9oACAEBAAEFApO3BGncH//EABcRAAMBAAAAAAAAAAAAAAAAAAABAxH/2gAIAQMBAT8BdGaf/8QAFhEAAwAAAAAAAAAAAAAAAAAAAQIQ/9oACAECAQE/AQs//8QAFxAAAwEAAAAAAAAAAAAAAAAAAAEQEf/aAAgBAQAGPwKoyf/EABkQAQEBAAMAAAAAAAAAAAAAAAERABAhkf/aAAgBAQABPyHffFVK3IGJ5p3/2gAMAwEAAgADAAAAEN8P/8QAFxEBAQEBAAAAAAAAAAAAAAAAEQABIf/aAAgBAwEBPxBBY+l//8QAFxEBAAMAAAAAAAAAAAAAAAAAAAERMf/aAAgBAgEBPxCCmP/EABoQAQADAQEBAAAAAAAAAAAAAAEAETFRIYH/2gAIAQEAAT8Q6WRNSokknq57Boxrbk42fZ//2Q==","aspectRatio":1.4954128440366972,"src":"/static/ef25ec43000cab4b3d55683c117876ed/1dc0b/hero.jpg","srcSet":"/static/ef25ec43000cab4b3d55683c117876ed/3a5ce/hero.jpg 163w,\n/static/ef25ec43000cab4b3d55683c117876ed/05730/hero.jpg 327w,\n/static/ef25ec43000cab4b3d55683c117876ed/1dc0b/hero.jpg 653w,\n/static/ef25ec43000cab4b3d55683c117876ed/f72c7/hero.jpg 980w,\n/static/ef25ec43000cab4b3d55683c117876ed/6e4a3/hero.jpg 1306w,\n/static/ef25ec43000cab4b3d55683c117876ed/e3277/hero.jpg 2250w","srcWebp":"/static/ef25ec43000cab4b3d55683c117876ed/0acdf/hero.webp","srcSetWebp":"/static/ef25ec43000cab4b3d55683c117876ed/ac59e/hero.webp 163w,\n/static/ef25ec43000cab4b3d55683c117876ed/7660b/hero.webp 327w,\n/static/ef25ec43000cab4b3d55683c117876ed/0acdf/hero.webp 653w,\n/static/ef25ec43000cab4b3d55683c117876ed/75470/hero.webp 980w,\n/static/ef25ec43000cab4b3d55683c117876ed/68d47/hero.webp 1306w,\n/static/ef25ec43000cab4b3d55683c117876ed/d168a/hero.webp 2250w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAMEAgX/xAAXAQADAQAAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAHnLfueuQrA/wD/xAAaEAACAgMAAAAAAAAAAAAAAAAAAQIQERIh/9oACAEBAAEFApO3BGncH//EABcRAAMBAAAAAAAAAAAAAAAAAAABAxH/2gAIAQMBAT8BdGaf/8QAFhEAAwAAAAAAAAAAAAAAAAAAAQIQ/9oACAECAQE/AQs//8QAFxAAAwEAAAAAAAAAAAAAAAAAAAEQEf/aAAgBAQAGPwKoyf/EABkQAQEBAAMAAAAAAAAAAAAAAAERABAhkf/aAAgBAQABPyHffFVK3IGJ5p3/2gAMAwEAAgADAAAAEN8P/8QAFxEBAQEBAAAAAAAAAAAAAAAAEQABIf/aAAgBAwEBPxBBY+l//8QAFxEBAAMAAAAAAAAAAAAAAAAAAAERMf/aAAgBAgEBPxCCmP/EABoQAQADAQEBAAAAAAAAAAAAAAEAETFRIYH/2gAIAQEAAT8Q6WRNSokknq57Boxrbk42fZ//2Q==","aspectRatio":1.5,"src":"/static/ef25ec43000cab4b3d55683c117876ed/eaa58/hero.jpg","srcSet":"/static/ef25ec43000cab4b3d55683c117876ed/5a3ee/hero.jpg 114w,\n/static/ef25ec43000cab4b3d55683c117876ed/41f8f/hero.jpg 229w,\n/static/ef25ec43000cab4b3d55683c117876ed/eaa58/hero.jpg 457w,\n/static/ef25ec43000cab4b3d55683c117876ed/c309b/hero.jpg 686w,\n/static/ef25ec43000cab4b3d55683c117876ed/e3008/hero.jpg 914w,\n/static/ef25ec43000cab4b3d55683c117876ed/e3277/hero.jpg 2250w","srcWebp":"/static/ef25ec43000cab4b3d55683c117876ed/15384/hero.webp","srcSetWebp":"/static/ef25ec43000cab4b3d55683c117876ed/31fce/hero.webp 114w,\n/static/ef25ec43000cab4b3d55683c117876ed/e3e25/hero.webp 229w,\n/static/ef25ec43000cab4b3d55683c117876ed/15384/hero.webp 457w,\n/static/ef25ec43000cab4b3d55683c117876ed/0258d/hero.webp 686w,\n/static/ef25ec43000cab4b3d55683c117876ed/64ea2/hero.webp 914w,\n/static/ef25ec43000cab4b3d55683c117876ed/d168a/hero.webp 2250w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/ef25ec43000cab4b3d55683c117876ed/0ff54/hero.jpg"}}},{"id":"3503f471-2857-530f-8faf-f0d1ebf62dee","slug":"/2020-08-27-about-fu-ta","secret":false,"title":"关于「扶言扶语」","author":"Bryan Lee","date":"August 27th, 2020","dateForSEO":"2020-08-27T00:00:00.000Z","timeToRead":1,"excerpt":"扶的有些言论我看到以后，要在心里琢磨许久，常有生面孔的名词，甚至要查阅一些相关资料，只有这样才勉强有些许自己的理解，为构建认知体系添砖加瓦；仅有囫囵的认知远远不够，我更希冀「取其精华，去其糟粕」，如果有糟粕的话且我能感知到的话，因此反刍势在必行。","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"关于「扶言扶语」\",\n  \"slug\": \"2020-08-27-about-fu-ta\",\n  \"author\": \"Bryan Lee\",\n  \"date\": \"2020-08-27T00:00:00.000Z\",\n  \"hero\": \"./images/hero.jpeg\",\n  \"excerpt\": \"扶的有些言论我看到以后，要在心里琢磨许久，常有生面孔的名词，甚至要查阅一些相关资料，只有这样才勉强有些许自己的理解，为构建认知体系添砖加瓦；仅有囫囵的认知远远不够，我更希冀「取其精华，去其糟粕」，如果有糟粕的话且我能感知到的话，因此反刍势在必行。\",\n  \"tags\": [\"扶言扶语\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", {\n    \"id\": \"关于「扶她」\"\n  }, \"\\u5173\\u4E8E\\u300C\\u6276\\u5979\\u300D\"), mdx(\"p\", null, \"\\u89C1\", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://jikipedia.com/definition/1053528838\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"\\u89E3\\u91CA\"), \"\\u3002\"), mdx(\"h2\", {\n    \"id\": \"什么是「扶言扶语」\"\n  }, \"\\u4EC0\\u4E48\\u662F\\u300C\\u6276\\u8A00\\u6276\\u8BED\\u300D\"), mdx(\"p\", null, \"\\u6211\\u662F\\u5728\\u4E00\\u4E2A\\u524D\\u7AEF\\u7FA4\\u91CC\\u6CE8\\u610F\\u5230\\u6276\\u7684\\uFF0C\\u4ED6\\u662F\\u4E00\\u4F4D\\u300C\\u9876\\u7EA7\\u7801\\u519C\\u300D\\uFF0C\\u70B9\\u8FDB QQ \\u8D44\\u6599\\u80FD\\u770B\\u5230\\u975E\\u5E38\\u52B2\\u7206\\u7684 \\u30B9\\u30AF\\u30FC\\u30EB \\u81EA\\u62CD\\u3002\"), mdx(\"p\", null, \"\\u6276\\u5E94\\u8BE5\\u662F\\u4E00\\u540D\\u5B66\\u9738\\uFF0C\\u56E0\\u4E3A\\u636E\\u5979\\u6240\\u8BF4\\u4ED6\\u975E\\u5E38\\u7FA1\\u6155\\u5B66\\u795E\\uFF1B\\u6276\\u5728\\u7FA4\\u91CC\\u8C08\\u53CA\\u7684\\u9886\\u57DF\\u6781\\u5176\\u5E7F\\uFF1ACS\\u3001\\u7406\\u8D22\\u3001\\u7F16\\u7A0B\\u3001\\u804C\\u573A\\u7B49\\u7B49\\uFF0C\\u5F53\\u7136\\u4E5F\\u4F1A\\u5728\\u7FA4\\u91CC\\u53D1\\u4E00\\u4E9B\\u8272\\u56FE\\u548C\\u60CA\\u4EBA\\u8A00\\u8BBA\\u3002\"), mdx(\"p\", null, \"\\u76F8\\u8F83\\u800C\\u8A00\\uFF0C\\u6211\\u5BF9\\u6276\\u5173\\u4E8E\\u7F16\\u7A0B\\u90E8\\u5206\\u7684\\u8A00\\u8BBA\\u975E\\u5E38\\u611F\\u5174\\u8DA3\\uFF0C\\u4F5C\\u4E3A\\u4E00\\u540D\\u6D78\\u6DEB\\u7F16\\u7A0B\\u6280\\u672F\\u591A\\u5E74\\u7684 Coder\\uFF0C\\u6276\\u5DF2\\u7ECF\\u5EFA\\u7ACB\\u4E86\\u76F8\\u5F53\\u5B8C\\u5907\\u7684\\u8BA4\\u77E5\\u67B6\\u6784\\uFF0C\\u5979\\u5BF9\\u8BB8\\u591A\\u7684\\u6280\\u672F\\u90FD\\u6709\\u81EA\\u5DF1\\u7684\\u770B\\u6CD5\\u4E0E\\u89C1\\u89E3\\uFF1B\\u8FD9\\u8BA9\\u6211\\u65E2\\u7FA1\\u6155\\u53C8\\u6050\\u614C\\uFF0C\\u4F5C\\u4E3A\\u4E00\\u4E2A\\u524D\\u7AEF\\u5C0F\\u767D\\uFF0C\\u6211\\u8FD8\\u6CA1\\u6709\\u5EFA\\u7ACB\\u8D77\\u8F83\\u4E3A\\u5B8C\\u5584\\u7684\\u8BA4\\u77E5\\u4F53\\u7CFB\\uFF0C\\u8FDC\\u6CA1\\u6709\\u5230\\u8BC4\\u5934\\u8BBA\\u8DB3\\u7684\\u9636\\u6BB5\\uFF0C\\u9887\\u6709\\u5BB3\\u6015\\u81EA\\u5DF1\\u88AB\\u62D4\\u82D7\\u52A9\\u957F\\u7684\\u60F3\\u6CD5\\u5728\\u5176\\u4E2D\\u3002\"), mdx(\"h2\", {\n    \"id\": \"为什么要收集这些言论\"\n  }, \"\\u4E3A\\u4EC0\\u4E48\\u8981\\u6536\\u96C6\\u8FD9\\u4E9B\\u8A00\\u8BBA\"), mdx(\"p\", null, \"\\u6276\\u7684\\u6709\\u4E9B\\u8A00\\u8BBA\\u6211\\u770B\\u5230\\u4EE5\\u540E\\uFF0C\\u8981\\u5728\\u5FC3\\u91CC\\u7422\\u78E8\\u8BB8\\u4E45\\uFF0C\\u5E38\\u6709\\u751F\\u9762\\u5B54\\u7684\\u540D\\u8BCD\\uFF0C\\u751A\\u81F3\\u8981\\u67E5\\u9605\\u4E00\\u4E9B\\u76F8\\u5173\\u8D44\\u6599\\uFF0C\\u53EA\\u6709\\u8FD9\\u6837\\u624D\\u52C9\\u5F3A\\u6709\\u4E9B\\u8BB8\\u81EA\\u5DF1\\u7684\\u7406\\u89E3\\uFF0C\\u4E3A\\u6784\\u5EFA\\u8BA4\\u77E5\\u4F53\\u7CFB\\u6DFB\\u7816\\u52A0\\u74E6\\uFF1B\\u4EC5\\u6709\\u56EB\\u56F5\\u7684\\u8BA4\\u77E5\\u8FDC\\u8FDC\\u4E0D\\u591F\\uFF0C\\u6211\\u66F4\\u5E0C\\u5180\\u300C\\u53D6\\u5176\\u7CBE\\u534E\\uFF0C\\u53BB\\u5176\\u7CDF\\u7C95\\u300D\\uFF0C\\u5982\\u679C\\u6709\\u7CDF\\u7C95\\u7684\\u8BDD\\u4E14\\u6211\\u80FD\\u611F\\u77E5\\u5230\\u7684\\u8BDD\\uFF0C\\u56E0\\u6B64\\u53CD\\u520D\\u52BF\\u5728\\u5FC5\\u884C\\u3002\"), mdx(\"p\", null, \"\\u7ECF\\u5E38\\u7422\\u78E8\\u6276\\u7684\\u8A00\\u8BBA\\u4F1A\\u5BFC\\u81F4\\u53E6\\u5916\\u4E00\\u4E2A\\u95EE\\u9898\\uFF1A\\u81EA\\u5DF1\\u5728\\u7406\\u89E3\\u6276\\u7684\\u8A00\\u8BBA\\u65F6\\uFF0C\\u5E38\\u56E0\\u4E3A\\u8981\\u786E\\u5B9A\\u4ED6\\u7684\\u7528\\u8BCD\\u6216\\u8005\\u5979\\u662F\\u5426\\u8BF4\\u8FC7 XXX\\uFF1B\\u6240\\u4EE5\\u8981\\u53CD\\u590D\\u505A\\u5982\\u4E0B\\u64CD\\u4F5C\\uFF1A\\u6253\\u5F00 QQ \\u7FA4\\u5E76\\u627E\\u5230\\u4ED6\\uFF0C\\u70B9\\u5F00\\u5979\\u7684\\u8D44\\u6599\\uFF0C\\u67E5\\u770B\\u4ED6\\u7684\\u53D1\\u8A00\\u8BB0\\u5F55\\u2026\\u8FD9\\u4E9B\\u91CD\\u590D\\u7684\\u52A8\\u4F5C\\uFF0C\\u6D6A\\u8D39\\u4E86\\u592A\\u591A\\u65F6\\u95F4\\uFF1B\\u56E0\\u6B64\\uFF0C\\u6211\\u4E0B\\u5B9A\\u51B3\\u5FC3\\u9009\\u62E9\\u6027\\u5730\\u628A\\u6276\\u7684\\u4E00\\u4E9B\\u8A00\\u8BBA\\u5F52\\u7EB3\\u8D77\\u6765\\uFF0C\\u5E76\\u968F\\u624B Format \\u4E86\\uFF0C\\u4FBF\\u4E8E\\u5F52\\u6863\\u4E0E\\u7FFB\\u9605\\u3002\"));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAUCAwT/xAAXAQADAQAAAAAAAAAAAAAAAAAAAQID/9oADAMBAAIQAxAAAAHBYznpCwaiP//EABkQAAIDAQAAAAAAAAAAAAAAAAABAhESE//aAAgBAQABBQKKM06OETmjCP/EABURAQEAAAAAAAAAAAAAAAAAABAR/9oACAEDAQE/AYf/xAAWEQEBAQAAAAAAAAAAAAAAAAAAERL/2gAIAQIBAT8B0r//xAAUEAEAAAAAAAAAAAAAAAAAAAAg/9oACAEBAAY/Al//xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhUWH/2gAIAQEAAT8hq9o7VwRg06803p5n/9oADAMBAAIAAwAAABDgH//EABYRAQEBAAAAAAAAAAAAAAAAAAARAf/aAAgBAwEBPxCk1//EABURAQEAAAAAAAAAAAAAAAAAABAR/9oACAECAQE/EIP/xAAbEAADAAIDAAAAAAAAAAAAAAAAAREhMVFhkf/aAAgBAQABPxBc8XQzc1sZCUZiiDejLIuH4f/Z","aspectRatio":1.5031847133757963,"src":"/static/39c966a7d28eb8625916475943ed8cb4/58fe7/hero.jpg","srcSet":"/static/39c966a7d28eb8625916475943ed8cb4/e0f30/hero.jpg 236w,\n/static/39c966a7d28eb8625916475943ed8cb4/86afd/hero.jpg 472w,\n/static/39c966a7d28eb8625916475943ed8cb4/58fe7/hero.jpg 944w,\n/static/39c966a7d28eb8625916475943ed8cb4/02748/hero.jpg 1416w,\n/static/39c966a7d28eb8625916475943ed8cb4/5c241/hero.jpg 1888w,\n/static/39c966a7d28eb8625916475943ed8cb4/e3277/hero.jpg 2250w","srcWebp":"/static/39c966a7d28eb8625916475943ed8cb4/99fbb/hero.webp","srcSetWebp":"/static/39c966a7d28eb8625916475943ed8cb4/77392/hero.webp 236w,\n/static/39c966a7d28eb8625916475943ed8cb4/1f177/hero.webp 472w,\n/static/39c966a7d28eb8625916475943ed8cb4/99fbb/hero.webp 944w,\n/static/39c966a7d28eb8625916475943ed8cb4/4a492/hero.webp 1416w,\n/static/39c966a7d28eb8625916475943ed8cb4/b0b8f/hero.webp 1888w,\n/static/39c966a7d28eb8625916475943ed8cb4/d168a/hero.webp 2250w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAUCAwT/xAAXAQADAQAAAAAAAAAAAAAAAAAAAQID/9oADAMBAAIQAxAAAAHBYznpCwaiP//EABkQAAIDAQAAAAAAAAAAAAAAAAABAhESE//aAAgBAQABBQKKM06OETmjCP/EABURAQEAAAAAAAAAAAAAAAAAABAR/9oACAEDAQE/AYf/xAAWEQEBAQAAAAAAAAAAAAAAAAAAERL/2gAIAQIBAT8B0r//xAAUEAEAAAAAAAAAAAAAAAAAAAAg/9oACAEBAAY/Al//xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhUWH/2gAIAQEAAT8hq9o7VwRg06803p5n/9oADAMBAAIAAwAAABDgH//EABYRAQEBAAAAAAAAAAAAAAAAAAARAf/aAAgBAwEBPxCk1//EABURAQEAAAAAAAAAAAAAAAAAABAR/9oACAECAQE/EIP/xAAbEAADAAIDAAAAAAAAAAAAAAAAAREhMVFhkf/aAAgBAQABPxBc8XQzc1sZCUZiiDejLIuH4f/Z","aspectRatio":1.4954128440366972,"src":"/static/39c966a7d28eb8625916475943ed8cb4/1dc0b/hero.jpg","srcSet":"/static/39c966a7d28eb8625916475943ed8cb4/3a5ce/hero.jpg 163w,\n/static/39c966a7d28eb8625916475943ed8cb4/05730/hero.jpg 327w,\n/static/39c966a7d28eb8625916475943ed8cb4/1dc0b/hero.jpg 653w,\n/static/39c966a7d28eb8625916475943ed8cb4/f72c7/hero.jpg 980w,\n/static/39c966a7d28eb8625916475943ed8cb4/6e4a3/hero.jpg 1306w,\n/static/39c966a7d28eb8625916475943ed8cb4/e3277/hero.jpg 2250w","srcWebp":"/static/39c966a7d28eb8625916475943ed8cb4/0acdf/hero.webp","srcSetWebp":"/static/39c966a7d28eb8625916475943ed8cb4/ac59e/hero.webp 163w,\n/static/39c966a7d28eb8625916475943ed8cb4/7660b/hero.webp 327w,\n/static/39c966a7d28eb8625916475943ed8cb4/0acdf/hero.webp 653w,\n/static/39c966a7d28eb8625916475943ed8cb4/75470/hero.webp 980w,\n/static/39c966a7d28eb8625916475943ed8cb4/68d47/hero.webp 1306w,\n/static/39c966a7d28eb8625916475943ed8cb4/d168a/hero.webp 2250w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAUCAwT/xAAXAQADAQAAAAAAAAAAAAAAAAAAAQID/9oADAMBAAIQAxAAAAHBYznpCwaiP//EABkQAAIDAQAAAAAAAAAAAAAAAAABAhESE//aAAgBAQABBQKKM06OETmjCP/EABURAQEAAAAAAAAAAAAAAAAAABAR/9oACAEDAQE/AYf/xAAWEQEBAQAAAAAAAAAAAAAAAAAAERL/2gAIAQIBAT8B0r//xAAUEAEAAAAAAAAAAAAAAAAAAAAg/9oACAEBAAY/Al//xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhUWH/2gAIAQEAAT8hq9o7VwRg06803p5n/9oADAMBAAIAAwAAABDgH//EABYRAQEBAAAAAAAAAAAAAAAAAAARAf/aAAgBAwEBPxCk1//EABURAQEAAAAAAAAAAAAAAAAAABAR/9oACAECAQE/EIP/xAAbEAADAAIDAAAAAAAAAAAAAAAAAREhMVFhkf/aAAgBAQABPxBc8XQzc1sZCUZiiDejLIuH4f/Z","aspectRatio":1.5,"src":"/static/39c966a7d28eb8625916475943ed8cb4/eaa58/hero.jpg","srcSet":"/static/39c966a7d28eb8625916475943ed8cb4/5a3ee/hero.jpg 114w,\n/static/39c966a7d28eb8625916475943ed8cb4/41f8f/hero.jpg 229w,\n/static/39c966a7d28eb8625916475943ed8cb4/eaa58/hero.jpg 457w,\n/static/39c966a7d28eb8625916475943ed8cb4/c309b/hero.jpg 686w,\n/static/39c966a7d28eb8625916475943ed8cb4/e3008/hero.jpg 914w,\n/static/39c966a7d28eb8625916475943ed8cb4/e3277/hero.jpg 2250w","srcWebp":"/static/39c966a7d28eb8625916475943ed8cb4/15384/hero.webp","srcSetWebp":"/static/39c966a7d28eb8625916475943ed8cb4/31fce/hero.webp 114w,\n/static/39c966a7d28eb8625916475943ed8cb4/e3e25/hero.webp 229w,\n/static/39c966a7d28eb8625916475943ed8cb4/15384/hero.webp 457w,\n/static/39c966a7d28eb8625916475943ed8cb4/0258d/hero.webp 686w,\n/static/39c966a7d28eb8625916475943ed8cb4/64ea2/hero.webp 914w,\n/static/39c966a7d28eb8625916475943ed8cb4/d168a/hero.webp 2250w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/39c966a7d28eb8625916475943ed8cb4/0ff54/hero.jpg"}}}]}},"staticQueryHashes":["1143375668","1491088328","1921650733","2068910035","2444214635"]}