{"version":1,"pages":[{"id":"-LFYF1POBh0Mzs6l4nf4","title":"Introduction","pathname":"/react-in-patterns-th","siteSpaceId":"sitesp_HacS8","description":""},{"id":"-LFYGva3H7-kJau30Iba","title":"In brief","pathname":"/react-in-patterns-th/in-brief","siteSpaceId":"sitesp_HacS8","description":""},{"id":"-LFYGva6Zi3PTBxj5Ipi","title":"Communication","pathname":"/react-in-patterns-th/foundation/communication","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"}]},{"id":"-LFYGva75010KrXzLNEL","title":"Input","pathname":"/react-in-patterns-th/foundation/communication/input","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"},{"label":"Communication"}]},{"id":"-LFYGva8FYe9N3SdD3uZ","title":"Output","pathname":"/react-in-patterns-th/foundation/communication/output","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"},{"label":"Communication"}]},{"id":"-LFYGva9WOA0xk0wSobF","title":"Event handlers","pathname":"/react-in-patterns-th/foundation/event-handlers","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"}]},{"id":"-LFYGvaApiTZnVkSyv_d","title":"Composition","pathname":"/react-in-patterns-th/foundation/composition","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"}]},{"id":"-LFYGvaBS4Z9FRNrA5JO","title":"Using React's children API","pathname":"/react-in-patterns-th/foundation/composition/using-reacts-children-api","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"},{"label":"Composition"}]},{"id":"-LFYGvaCAiFf0swM0YWR","title":"Passing a child as a prop","pathname":"/react-in-patterns-th/foundation/composition/passing-a-child-as-a-prop","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"},{"label":"Composition"}]},{"id":"-LFYGvaDu0SWqV9B2Mp6","title":"Higher-order component","pathname":"/react-in-patterns-th/foundation/composition/higher-order-component","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"},{"label":"Composition"}]},{"id":"-LFYGvaEU4ucPPuUHKVF","title":"Function as a children, render prop","pathname":"/react-in-patterns-th/foundation/composition/function-as-a-children-render-prop","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"},{"label":"Composition"}]},{"id":"-LFYGvaFfUUDOH6E7Xvo","title":"Controlled and uncontrolled inputs","pathname":"/react-in-patterns-th/foundation/controlled-and-uncontrolled-inputs","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"}]},{"id":"-LFYGvaGcen03iVhmO1Z","title":"Presentational and container components","pathname":"/react-in-patterns-th/foundation/presentational-and-container-components","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Foundation"}]},{"id":"-LFYGvaJAp__iZaOj4iY","title":"One direction data flow","pathname":"/react-in-patterns-th/data-flow/one-direction-data-flow","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Data flow"}]},{"id":"-LFYGvaKTd_b5pzC__je","title":"Flux","pathname":"/react-in-patterns-th/data-flow/flux","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Data flow"}]},{"id":"-LFYGvaLUprwnUSbd1y9","title":"Flux architecture and its main characteristics","pathname":"/react-in-patterns-th/data-flow/flux/flux-architecture-and-its-main-characteristics","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Data flow"},{"label":"Flux"}]},{"id":"-LFYGvaMWTP3T95JUsgx","title":"Implementing a Flux architecture","pathname":"/react-in-patterns-th/data-flow/flux/implementing-a-flux-architecture","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Data flow"},{"label":"Flux"}]},{"id":"-LFYGvaNp2-a2hZzkC9x","title":"Redux","pathname":"/react-in-patterns-th/data-flow/redux","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Data flow"}]},{"id":"-LFYGvaO3TcEZErGsY3-","title":"Redux architecture and its main characteristics","pathname":"/react-in-patterns-th/data-flow/redux/redux-architecture-and-its-main-characteristics","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Data flow"},{"label":"Redux"}]},{"id":"-LFYGvaPfRQan7jAO-JQ","title":"Simple counter app using Redux","pathname":"/react-in-patterns-th/data-flow/redux/simple-counter-app-using-redux","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Data flow"},{"label":"Redux"}]},{"id":"-LFYGvaSIzzxklAU2sMf","title":"Dependency injection","pathname":"/react-in-patterns-th/good-to-know/dependency-injection","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"}]},{"id":"-LFYGvaT7qFvNtEI6xGN","title":"Using React's context (prior v. 16.3)","pathname":"/react-in-patterns-th/good-to-know/dependency-injection/using-reacts-context-prior-v.-16.3","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"},{"label":"Dependency injection"}]},{"id":"-LFYGvaU0NYD4aAyNcWW","title":"Using React's context (v. 16.3 and above)","pathname":"/react-in-patterns-th/good-to-know/dependency-injection/using-reacts-context-v.-16.3-and-above","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"},{"label":"Dependency injection"}]},{"id":"-LFYGvaVGIiV1Sd_3rFR","title":"Using the module system","pathname":"/react-in-patterns-th/good-to-know/dependency-injection/using-the-module-system","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"},{"label":"Dependency injection"}]},{"id":"-LFYGvaWZG4QddH-gmCX","title":"Styling","pathname":"/react-in-patterns-th/good-to-know/styling","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"}]},{"id":"-LFYGvaXYJBYCb0X4ZL6","title":"The good old CSS class","pathname":"/react-in-patterns-th/good-to-know/styling/the-good-old-css-class","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"},{"label":"Styling"}]},{"id":"-LFYGvaY38DlQjhAQGaK","title":"Inline styling","pathname":"/react-in-patterns-th/good-to-know/styling/inline-styling","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"},{"label":"Styling"}]},{"id":"-LFYGvaZxdNvI42_OMyU","title":"CSS modules","pathname":"/react-in-patterns-th/good-to-know/styling/css-modules","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"},{"label":"Styling"}]},{"id":"-LFYGva_04MffumYeJ0F","title":"Styled-components","pathname":"/react-in-patterns-th/good-to-know/styling/styled-components","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"},{"label":"Styling"}]},{"id":"-LFYGvaaLZ5IOBldpptO","title":"Integration of third-party libraries","pathname":"/react-in-patterns-th/good-to-know/integration-of-third-party-libraries","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Good to know"}]},{"id":"-LFYGvadLBxhiNpN58o9","title":"Summary","pathname":"/react-in-patterns-th/summary/summary","siteSpaceId":"sitesp_HacS8","description":"","breadcrumbs":[{"label":"Summary"}]}]}