├── .gitignore ├── LICENSE ├── README.md ├── code ├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt ├── src │ ├── App.css │ ├── App.test.tsx │ ├── App.tsx │ ├── ch1 │ │ ├── common-anti-patterns │ │ │ ├── complicated-logic │ │ │ │ └── PriceListView.tsx │ │ │ ├── data-transform-in-component │ │ │ │ └── UserProfile.tsx │ │ │ ├── duplication │ │ │ │ ├── ActiveList.tsx │ │ │ │ ├── AdminList.tsx │ │ │ │ └── List.tsx │ │ │ ├── lack-of-tests │ │ │ │ └── ShoppingCart.tsx │ │ │ ├── props-drilling │ │ │ │ └── SearchableList.tsx │ │ │ └── single-responsibility │ │ │ │ └── OrderContainer.tsx │ │ ├── quotes │ │ │ ├── Quotes.tsx │ │ │ └── QuotesWithNetwork.tsx │ │ ├── types.ts │ │ ├── unexpected-user-input │ │ │ └── Form.tsx │ │ └── unhappy-path │ │ │ └── MenuItem.tsx │ ├── ch10 │ │ ├── Dropdown │ │ │ ├── Dropdown.css │ │ │ ├── Dropdown.tsx │ │ │ ├── DropdownMenu.tsx │ │ │ ├── DropdownTailwind.tsx │ │ │ ├── Error │ │ │ │ ├── Error.css │ │ │ │ ├── Error.tsx │ │ │ │ └── error.png │ │ │ ├── Loading │ │ │ │ ├── Loading.css │ │ │ │ ├── Loading.tsx │ │ │ │ └── loading.png │ │ │ ├── Trigger.tsx │ │ │ ├── fetchUsers.ts │ │ │ ├── types.tsx │ │ │ ├── useDropdown.test.tsx │ │ │ ├── useDropdown.tsx │ │ │ ├── useService.ts │ │ │ └── useUsers.ts │ │ ├── hoc │ │ │ ├── AutoCloseExpandablePanel.tsx │ │ │ ├── ExpandablePanel.tsx │ │ │ ├── UserProfile.tsx │ │ │ ├── types.ts │ │ │ ├── withAuthorization.tsx │ │ │ ├── withAutoClose.tsx │ │ │ └── withKeyboard.tsx │ │ ├── hooks │ │ │ ├── ExpandablePanel.tsx │ │ │ ├── types.ts │ │ │ ├── useAutoClose.tsx │ │ │ ├── useKeyboard.tsx │ │ │ ├── useService.ts │ │ │ ├── useToggle.tsx │ │ │ └── withSideEffect.tsx │ │ ├── report.js │ │ ├── report.ts │ │ └── style.css │ ├── ch11 │ │ └── code-oven │ │ │ ├── README.md │ │ │ ├── cypress.config.ts │ │ │ ├── cypress │ │ │ ├── e2e │ │ │ │ └── code-oven.spec.cy.ts │ │ │ ├── fixtures │ │ │ │ └── example.json │ │ │ ├── support │ │ │ │ ├── commands.ts │ │ │ │ └── e2e.ts │ │ │ └── videos │ │ │ │ └── code-oven.spec.cy.ts.mp4 │ │ │ ├── mockups │ │ │ └── code-oven.png │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── public │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ │ ├── src │ │ │ ├── App.css │ │ │ ├── App.test.tsx │ │ │ ├── App.tsx │ │ │ ├── hooks │ │ │ │ ├── useMenuItems.ts │ │ │ │ └── useShoppingCart.ts │ │ │ ├── index.css │ │ │ ├── index.tsx │ │ │ ├── models │ │ │ │ ├── BaseMenuItem.ts │ │ │ │ ├── IMenuItem.ts │ │ │ │ ├── PastaItem.ts │ │ │ │ ├── PizzaMenuItem.ts │ │ │ │ ├── RemoteMenuItem.ts │ │ │ │ └── strategy │ │ │ │ │ ├── IDiscountStrategy.ts │ │ │ │ │ ├── NoDiscountStrategy.ts │ │ │ │ │ ├── SpecialDiscountStrategy.ts │ │ │ │ │ └── TenPercentageDiscountStrategy.ts │ │ │ ├── pizzas.json │ │ │ ├── react-app-env.d.ts │ │ │ ├── setupTests.ts │ │ │ └── views │ │ │ │ ├── MenuList.tsx │ │ │ │ └── ShoppingCart.tsx │ │ │ ├── tsconfig.json │ │ │ └── yarn.lock │ ├── ch12 │ │ └── weather │ │ │ ├── README.md │ │ │ ├── cypress.config.ts │ │ │ ├── cypress │ │ │ ├── e2e │ │ │ │ └── weather.spec.cy.ts │ │ │ ├── fixtures │ │ │ │ ├── melbourne.json │ │ │ │ └── search-result.json │ │ │ └── support │ │ │ │ ├── commands.ts │ │ │ │ └── e2e.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── public │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── manifest.json │ │ │ └── robots.txt │ │ │ ├── src │ │ │ ├── App.css │ │ │ ├── App.test.tsx │ │ │ ├── App.tsx │ │ │ ├── index.css │ │ │ ├── index.tsx │ │ │ ├── logo.svg │ │ │ ├── models │ │ │ │ ├── CityWeather.test.ts │ │ │ │ ├── CityWeather.ts │ │ │ │ ├── RemoteCityWeather.ts │ │ │ │ ├── RemoteSearchResultItem.ts │ │ │ │ ├── SearchResultItemType.test.ts │ │ │ │ └── SearchResultItemType.ts │ │ │ ├── react-app-env.d.ts │ │ │ ├── search │ │ │ │ ├── SearchCityInput.tsx │ │ │ │ ├── SearchResultItem.test.tsx │ │ │ │ ├── SearchResultItem.tsx │ │ │ │ └── useSearchCity.ts │ │ │ ├── setupTests.ts │ │ │ └── weather │ │ │ │ ├── Weather.tsx │ │ │ │ ├── WeatherList.tsx │ │ │ │ ├── useFetchCityWeather.test.ts │ │ │ │ ├── useFetchCityWeather.ts │ │ │ │ └── weather.css │ │ │ ├── tsconfig.json │ │ │ └── yarn.lock │ ├── ch2 │ │ ├── article │ │ │ ├── Article.tsx │ │ │ ├── ArticleDetail.tsx │ │ │ ├── ArticleDetailWithCleanup.tsx │ │ │ ├── ArticleEditor.tsx │ │ │ ├── ArticleList.tsx │ │ │ ├── StaticArticle.tsx │ │ │ ├── Timer.tsx │ │ │ ├── article.css │ │ │ └── types.ts │ │ ├── login │ │ │ ├── Login.tsx │ │ │ └── login.css │ │ ├── theme │ │ │ ├── ThemeContext.tsx │ │ │ └── ThemeProvider.tsx │ │ └── weather │ │ │ ├── Heading.tsx │ │ │ ├── Notification.tsx │ │ │ ├── SearchBox.tsx │ │ │ ├── WeatherApplication.tsx │ │ │ ├── WeatherList.tsx │ │ │ └── types.ts │ ├── ch3 │ │ ├── .gitkeep │ │ ├── api │ │ │ └── .gitkeep │ │ ├── components │ │ │ ├── Accordion │ │ │ │ └── .gitkeep │ │ │ ├── Button │ │ │ │ └── .gitkeep │ │ │ ├── GenericCard │ │ │ │ └── .gitkeep │ │ │ ├── Modal │ │ │ │ └── .gitkeep │ │ │ ├── Offer │ │ │ │ └── SpecialOffer │ │ │ │ │ └── .gitkeep │ │ │ └── StackView │ │ │ │ └── .gitkeep │ │ ├── context │ │ │ └── .gitkeep │ │ ├── design-system │ │ │ └── .gitkeep │ │ ├── hooks │ │ │ └── .gitkeep │ │ ├── mocks │ │ │ ├── graphql │ │ │ │ └── .gitkeep │ │ │ └── rest │ │ │ │ └── .gitkeep │ │ └── pages │ │ │ ├── Address │ │ │ ├── AddressList │ │ │ │ └── .gitkeep │ │ │ └── Store │ │ │ │ └── .gitkeep │ │ │ ├── Home │ │ │ └── .gitkeep │ │ │ ├── Login │ │ │ └── hooks │ │ │ │ └── .gitkeep │ │ │ ├── Order │ │ │ └── hooks │ │ │ │ └── .gitkeep │ │ │ ├── Payment │ │ │ └── hooks │ │ │ │ └── .gitkeep │ │ │ ├── Product │ │ │ └── .gitkeep │ │ │ ├── Profile │ │ │ ├── Coupon │ │ │ │ └── .gitkeep │ │ │ ├── context │ │ │ │ └── .gitkeep │ │ │ └── hooks │ │ │ │ └── .gitkeep │ │ │ └── SignUp │ │ │ └── .gitkeep │ ├── ch4 │ │ ├── combined │ │ │ ├── Page.tsx │ │ │ ├── PageContext.tsx │ │ │ └── PageProvider.tsx │ │ ├── composition │ │ │ ├── FriendList.tsx │ │ │ ├── PostList.tsx │ │ │ ├── UserDashboard.tsx │ │ │ ├── UserProfile.tsx │ │ │ └── types.ts │ │ ├── dry │ │ │ ├── Cart.tsx │ │ │ ├── LineItem.tsx │ │ │ ├── MyShop.tsx │ │ │ ├── ProductList.tsx │ │ │ └── product.css │ │ ├── images │ │ │ ├── ipad.jpg │ │ │ └── iphone.jpg │ │ ├── single-responsibilty-principle │ │ │ ├── BlogPost.tsx │ │ │ ├── LikeButton.tsx │ │ │ ├── fetchPostById.ts │ │ │ ├── types.ts │ │ │ └── useFetchPost.ts │ │ └── types.ts │ ├── ch5 │ │ ├── __tests__ │ │ │ ├── Section.test.tsx │ │ │ └── TermsAndConditions.test.tsx │ │ ├── component │ │ │ ├── Section.tsx │ │ │ └── TermsAndConditions.tsx │ │ ├── cypress │ │ │ └── quote-of-the-day.spec.cy.js │ │ └── math │ │ │ ├── math.test.ts │ │ │ └── math.ts │ ├── ch6 │ │ ├── ShoppingCart.origin.ts │ │ ├── ShoppingCart.ts │ │ ├── __tests__ │ │ │ └── ShoppingCart.test.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── ch7 │ │ ├── App.tsx │ │ ├── MenuList.tsx │ │ ├── ShoppingCart.tsx │ │ ├── __tests__ │ │ │ └── App.test.tsx │ │ └── fixtures │ │ │ └── pizzas.json │ ├── ch8 │ │ ├── acl │ │ │ ├── UserProfile.tsx │ │ │ ├── fetchUserData.ts │ │ │ └── transformer.ts │ │ ├── books.ts │ │ ├── data-transformation │ │ │ └── UserProfile.tsx │ │ ├── searchable-list-props-drilling │ │ │ ├── SearchableList.tsx │ │ │ ├── SearchableListContext.tsx │ │ │ └── types.ts │ │ ├── searchable-list │ │ │ ├── List.tsx │ │ │ ├── SearchInput.tsx │ │ │ ├── SearchableList.tsx │ │ │ ├── SearchableListContext.tsx │ │ │ ├── search.css │ │ │ ├── types.ts │ │ │ └── useListItems.tsx │ │ └── types.ts │ ├── ch9 │ │ ├── CQRS │ │ │ ├── ShoppingApplication.tsx │ │ │ ├── ShoppingApplicationNew.tsx │ │ │ ├── ShoppingCartContext.tsx │ │ │ └── type.tsx │ │ ├── DIP │ │ │ ├── AnalyticsButton.tsx │ │ │ ├── Button.tsx │ │ │ ├── FancyButton.tsx │ │ │ ├── FormApp.tsx │ │ │ └── InteractionContext.tsx │ │ ├── UserList.tsx │ │ ├── avatar │ │ │ ├── Avatar.origin.tsx │ │ │ ├── Avatar.tsx │ │ │ └── MyAvatar.tsx │ │ ├── button │ │ │ ├── AnalyticsButton.tsx │ │ │ ├── Button.tsx │ │ │ ├── LoadingButton.tsx │ │ │ ├── logo.svg │ │ │ ├── style.css │ │ │ └── withLoading.tsx │ │ ├── notification │ │ │ ├── Application.ts │ │ │ ├── EmailNotification.ts │ │ │ ├── Notification.ts │ │ │ └── SMSNotification.ts │ │ ├── title │ │ │ └── Title.tsx │ │ └── types.ts │ ├── cypress.config.js │ ├── cypress │ │ ├── e2e │ │ │ └── quote-of-the-day.spec.cy.js │ │ ├── fixtures │ │ │ └── example.json │ │ └── support │ │ │ ├── commands.js │ │ │ └── e2e.js │ ├── index.css │ ├── index.tsx │ ├── react-app-env.d.ts │ └── setupTests.ts ├── tsconfig.json └── yarn.lock └── manuscripts ├── ch1 ├── UI-Is-Hard.md ├── anti-patterns.md ├── ch1 │ ├── B21103_01_01.png │ ├── B21103_01_02.png │ ├── B21103_01_03.png │ └── B21103_01_04.png ├── krishnan-form-validate.md └── state-management.md ├── ch10 ├── Composition-Patterns.md ├── README.md └── ch10 │ ├── B31103_10_01.png │ ├── B31103_10_02.png │ ├── B31103_10_03.png │ ├── B31103_10_04.png │ ├── B31103_10_05.png │ ├── B31103_10_06.png │ ├── B31103_10_07.png │ └── B31103_10_08.png ├── ch11 ├── Layered-Architecture.md ├── ch11 │ ├── B31103_11_01.png │ ├── B31103_11_02.png │ ├── B31103_11_03.png │ ├── B31103_11_04.png │ ├── B31103_11_05.png │ ├── B31103_11_06.png │ ├── B31103_11_07.png │ ├── B31103_11_08.png │ └── B31103_11_09.png ├── notes.md └── payment.md ├── ch12 ├── How-Is-The-Weather-Like.md └── ch12 │ ├── B31103_12_01.png │ ├── B31103_12_02.png │ ├── B31103_12_03.png │ ├── B31103_12_04.png │ ├── B31103_12_05.png │ ├── B31103_12_06.png │ ├── B31103_12_07.png │ └── B31103_12_08.png ├── ch13 ├── Summary.md └── ch13 │ ├── B31103_13_01.png │ ├── B31103_13_02.png │ └── B31103_13_03.png ├── ch2 ├── React-Essentials.md ├── article-editor.md ├── ch2 │ ├── B21103_02_01.png │ ├── B21103_02_02.png │ ├── B21103_02_03.png │ └── B21103_02_04.png └── code │ ├── Article.tsx │ └── StaticArticle.tsx ├── ch3 ├── Project-Structure.md ├── ch3 │ ├── B21103_03_01.png │ ├── B21103_03_02.png │ ├── B21103_03_03.png │ ├── B21103_03_04.png │ ├── B21103_03_05.png │ ├── B21103_03_06.png │ └── B21103_03_07.png └── mindmap │ ├── atomic-design.md │ ├── atomic-design.xmind │ ├── component-based.md │ ├── component-based.xmind │ ├── feature-based.md │ ├── feature-based.xmind │ ├── mixed.md │ ├── mixed.xmind │ ├── mvvm.md │ └── mvvm.xmind ├── ch4 ├── Design-Components.md ├── ch4 │ └── B31103_04_01.png ├── common-anti-patterns.md └── one-way-data-flow.md ├── ch5 ├── Notes.md ├── Testing-In-Frontend.md └── ch5 │ ├── B31103_05_01.jpeg │ ├── B31103_05_02.png │ ├── B31103_05_03.png │ ├── B31103_05_04.png │ ├── B31103_05_05.png │ └── B31103_05_06.png ├── ch6 ├── Common-Refactorings.md └── ch6 │ ├── B31103_06_01.png │ └── B31103_06_02.png ├── ch7 ├── TDD.md └── ch7 │ ├── B31103_07_01.png │ ├── B31103_07_02.png │ ├── B31103_07_03.png │ ├── B31103_07_04.png │ └── B31103_07_06.png ├── ch8 ├── Data-Access.md ├── branch-by-abstraction.md ├── ch8 │ ├── B31103_08_01.png │ ├── B31103_08_02.png │ └── B31103_08_03.png └── notes.md └── ch9 ├── Design-Principles.md ├── ch9 └── B31103_09_01.png └── notes.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/README.md -------------------------------------------------------------------------------- /code/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /code/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/README.md -------------------------------------------------------------------------------- /code/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/package-lock.json -------------------------------------------------------------------------------- /code/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/package.json -------------------------------------------------------------------------------- /code/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/public/favicon.ico -------------------------------------------------------------------------------- /code/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/public/index.html -------------------------------------------------------------------------------- /code/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/public/logo192.png -------------------------------------------------------------------------------- /code/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/public/logo512.png -------------------------------------------------------------------------------- /code/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/public/manifest.json -------------------------------------------------------------------------------- /code/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/public/robots.txt -------------------------------------------------------------------------------- /code/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/App.css -------------------------------------------------------------------------------- /code/src/App.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/App.test.tsx -------------------------------------------------------------------------------- /code/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/App.tsx -------------------------------------------------------------------------------- /code/src/ch1/common-anti-patterns/complicated-logic/PriceListView.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/common-anti-patterns/complicated-logic/PriceListView.tsx -------------------------------------------------------------------------------- /code/src/ch1/common-anti-patterns/data-transform-in-component/UserProfile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/common-anti-patterns/data-transform-in-component/UserProfile.tsx -------------------------------------------------------------------------------- /code/src/ch1/common-anti-patterns/duplication/ActiveList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/common-anti-patterns/duplication/ActiveList.tsx -------------------------------------------------------------------------------- /code/src/ch1/common-anti-patterns/duplication/AdminList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/common-anti-patterns/duplication/AdminList.tsx -------------------------------------------------------------------------------- /code/src/ch1/common-anti-patterns/duplication/List.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/common-anti-patterns/duplication/List.tsx -------------------------------------------------------------------------------- /code/src/ch1/common-anti-patterns/lack-of-tests/ShoppingCart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/common-anti-patterns/lack-of-tests/ShoppingCart.tsx -------------------------------------------------------------------------------- /code/src/ch1/common-anti-patterns/props-drilling/SearchableList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/common-anti-patterns/props-drilling/SearchableList.tsx -------------------------------------------------------------------------------- /code/src/ch1/common-anti-patterns/single-responsibility/OrderContainer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/common-anti-patterns/single-responsibility/OrderContainer.tsx -------------------------------------------------------------------------------- /code/src/ch1/quotes/Quotes.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/quotes/Quotes.tsx -------------------------------------------------------------------------------- /code/src/ch1/quotes/QuotesWithNetwork.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/quotes/QuotesWithNetwork.tsx -------------------------------------------------------------------------------- /code/src/ch1/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/types.ts -------------------------------------------------------------------------------- /code/src/ch1/unexpected-user-input/Form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/unexpected-user-input/Form.tsx -------------------------------------------------------------------------------- /code/src/ch1/unhappy-path/MenuItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch1/unhappy-path/MenuItem.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/Dropdown.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/Dropdown.css -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/Dropdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/Dropdown.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/DropdownMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/DropdownMenu.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/DropdownTailwind.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/DropdownTailwind.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/Error/Error.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/Error/Error.css -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/Error/Error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/Error/Error.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/Error/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/Error/error.png -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/Loading/Loading.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/Loading/Loading.css -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/Loading/Loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/Loading/Loading.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/Loading/loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/Loading/loading.png -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/Trigger.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/Trigger.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/fetchUsers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/fetchUsers.ts -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/types.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/types.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/useDropdown.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/useDropdown.test.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/useDropdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/useDropdown.tsx -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/useService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/useService.ts -------------------------------------------------------------------------------- /code/src/ch10/Dropdown/useUsers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/Dropdown/useUsers.ts -------------------------------------------------------------------------------- /code/src/ch10/hoc/AutoCloseExpandablePanel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hoc/AutoCloseExpandablePanel.tsx -------------------------------------------------------------------------------- /code/src/ch10/hoc/ExpandablePanel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hoc/ExpandablePanel.tsx -------------------------------------------------------------------------------- /code/src/ch10/hoc/UserProfile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hoc/UserProfile.tsx -------------------------------------------------------------------------------- /code/src/ch10/hoc/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hoc/types.ts -------------------------------------------------------------------------------- /code/src/ch10/hoc/withAuthorization.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hoc/withAuthorization.tsx -------------------------------------------------------------------------------- /code/src/ch10/hoc/withAutoClose.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hoc/withAutoClose.tsx -------------------------------------------------------------------------------- /code/src/ch10/hoc/withKeyboard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hoc/withKeyboard.tsx -------------------------------------------------------------------------------- /code/src/ch10/hooks/ExpandablePanel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hooks/ExpandablePanel.tsx -------------------------------------------------------------------------------- /code/src/ch10/hooks/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hooks/types.ts -------------------------------------------------------------------------------- /code/src/ch10/hooks/useAutoClose.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hooks/useAutoClose.tsx -------------------------------------------------------------------------------- /code/src/ch10/hooks/useKeyboard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hooks/useKeyboard.tsx -------------------------------------------------------------------------------- /code/src/ch10/hooks/useService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hooks/useService.ts -------------------------------------------------------------------------------- /code/src/ch10/hooks/useToggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hooks/useToggle.tsx -------------------------------------------------------------------------------- /code/src/ch10/hooks/withSideEffect.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/hooks/withSideEffect.tsx -------------------------------------------------------------------------------- /code/src/ch10/report.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/report.js -------------------------------------------------------------------------------- /code/src/ch10/report.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/report.ts -------------------------------------------------------------------------------- /code/src/ch10/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch10/style.css -------------------------------------------------------------------------------- /code/src/ch11/code-oven/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/README.md -------------------------------------------------------------------------------- /code/src/ch11/code-oven/cypress.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/cypress.config.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/cypress/e2e/code-oven.spec.cy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/cypress/e2e/code-oven.spec.cy.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/cypress/fixtures/example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/cypress/fixtures/example.json -------------------------------------------------------------------------------- /code/src/ch11/code-oven/cypress/support/commands.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/cypress/support/commands.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/cypress/support/e2e.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/cypress/support/e2e.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/cypress/videos/code-oven.spec.cy.ts.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/cypress/videos/code-oven.spec.cy.ts.mp4 -------------------------------------------------------------------------------- /code/src/ch11/code-oven/mockups/code-oven.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/mockups/code-oven.png -------------------------------------------------------------------------------- /code/src/ch11/code-oven/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/package-lock.json -------------------------------------------------------------------------------- /code/src/ch11/code-oven/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/package.json -------------------------------------------------------------------------------- /code/src/ch11/code-oven/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/public/favicon.ico -------------------------------------------------------------------------------- /code/src/ch11/code-oven/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/public/index.html -------------------------------------------------------------------------------- /code/src/ch11/code-oven/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/public/logo192.png -------------------------------------------------------------------------------- /code/src/ch11/code-oven/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/public/logo512.png -------------------------------------------------------------------------------- /code/src/ch11/code-oven/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/public/manifest.json -------------------------------------------------------------------------------- /code/src/ch11/code-oven/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/public/robots.txt -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/App.css -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/App.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/App.test.tsx -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/App.tsx -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/hooks/useMenuItems.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/hooks/useMenuItems.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/hooks/useShoppingCart.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/hooks/useShoppingCart.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/index.css -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/index.tsx -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/models/BaseMenuItem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/models/BaseMenuItem.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/models/IMenuItem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/models/IMenuItem.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/models/PastaItem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/models/PastaItem.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/models/PizzaMenuItem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/models/PizzaMenuItem.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/models/RemoteMenuItem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/models/RemoteMenuItem.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/models/strategy/IDiscountStrategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/models/strategy/IDiscountStrategy.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/models/strategy/NoDiscountStrategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/models/strategy/NoDiscountStrategy.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/models/strategy/SpecialDiscountStrategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/models/strategy/SpecialDiscountStrategy.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/models/strategy/TenPercentageDiscountStrategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/models/strategy/TenPercentageDiscountStrategy.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/pizzas.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/pizzas.json -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/setupTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/setupTests.ts -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/views/MenuList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/views/MenuList.tsx -------------------------------------------------------------------------------- /code/src/ch11/code-oven/src/views/ShoppingCart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/src/views/ShoppingCart.tsx -------------------------------------------------------------------------------- /code/src/ch11/code-oven/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/tsconfig.json -------------------------------------------------------------------------------- /code/src/ch11/code-oven/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch11/code-oven/yarn.lock -------------------------------------------------------------------------------- /code/src/ch12/weather/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/README.md -------------------------------------------------------------------------------- /code/src/ch12/weather/cypress.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/cypress.config.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/cypress/e2e/weather.spec.cy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/cypress/e2e/weather.spec.cy.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/cypress/fixtures/melbourne.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/cypress/fixtures/melbourne.json -------------------------------------------------------------------------------- /code/src/ch12/weather/cypress/fixtures/search-result.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/cypress/fixtures/search-result.json -------------------------------------------------------------------------------- /code/src/ch12/weather/cypress/support/commands.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/cypress/support/commands.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/cypress/support/e2e.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/cypress/support/e2e.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/package-lock.json -------------------------------------------------------------------------------- /code/src/ch12/weather/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/package.json -------------------------------------------------------------------------------- /code/src/ch12/weather/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/public/favicon.ico -------------------------------------------------------------------------------- /code/src/ch12/weather/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/public/index.html -------------------------------------------------------------------------------- /code/src/ch12/weather/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/public/logo192.png -------------------------------------------------------------------------------- /code/src/ch12/weather/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/public/logo512.png -------------------------------------------------------------------------------- /code/src/ch12/weather/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/public/manifest.json -------------------------------------------------------------------------------- /code/src/ch12/weather/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/public/robots.txt -------------------------------------------------------------------------------- /code/src/ch12/weather/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/App.css -------------------------------------------------------------------------------- /code/src/ch12/weather/src/App.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/App.test.tsx -------------------------------------------------------------------------------- /code/src/ch12/weather/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/App.tsx -------------------------------------------------------------------------------- /code/src/ch12/weather/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/index.css -------------------------------------------------------------------------------- /code/src/ch12/weather/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/index.tsx -------------------------------------------------------------------------------- /code/src/ch12/weather/src/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/logo.svg -------------------------------------------------------------------------------- /code/src/ch12/weather/src/models/CityWeather.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/models/CityWeather.test.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/models/CityWeather.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/models/CityWeather.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/models/RemoteCityWeather.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/models/RemoteCityWeather.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/models/RemoteSearchResultItem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/models/RemoteSearchResultItem.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/models/SearchResultItemType.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/models/SearchResultItemType.test.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/models/SearchResultItemType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/models/SearchResultItemType.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /code/src/ch12/weather/src/search/SearchCityInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/search/SearchCityInput.tsx -------------------------------------------------------------------------------- /code/src/ch12/weather/src/search/SearchResultItem.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/search/SearchResultItem.test.tsx -------------------------------------------------------------------------------- /code/src/ch12/weather/src/search/SearchResultItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/search/SearchResultItem.tsx -------------------------------------------------------------------------------- /code/src/ch12/weather/src/search/useSearchCity.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/search/useSearchCity.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/setupTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/setupTests.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/weather/Weather.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/weather/Weather.tsx -------------------------------------------------------------------------------- /code/src/ch12/weather/src/weather/WeatherList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/weather/WeatherList.tsx -------------------------------------------------------------------------------- /code/src/ch12/weather/src/weather/useFetchCityWeather.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/weather/useFetchCityWeather.test.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/weather/useFetchCityWeather.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/weather/useFetchCityWeather.ts -------------------------------------------------------------------------------- /code/src/ch12/weather/src/weather/weather.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/src/weather/weather.css -------------------------------------------------------------------------------- /code/src/ch12/weather/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/tsconfig.json -------------------------------------------------------------------------------- /code/src/ch12/weather/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch12/weather/yarn.lock -------------------------------------------------------------------------------- /code/src/ch2/article/Article.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/article/Article.tsx -------------------------------------------------------------------------------- /code/src/ch2/article/ArticleDetail.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/article/ArticleDetail.tsx -------------------------------------------------------------------------------- /code/src/ch2/article/ArticleDetailWithCleanup.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/article/ArticleDetailWithCleanup.tsx -------------------------------------------------------------------------------- /code/src/ch2/article/ArticleEditor.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/article/ArticleEditor.tsx -------------------------------------------------------------------------------- /code/src/ch2/article/ArticleList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/article/ArticleList.tsx -------------------------------------------------------------------------------- /code/src/ch2/article/StaticArticle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/article/StaticArticle.tsx -------------------------------------------------------------------------------- /code/src/ch2/article/Timer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/article/Timer.tsx -------------------------------------------------------------------------------- /code/src/ch2/article/article.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/article/article.css -------------------------------------------------------------------------------- /code/src/ch2/article/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/article/types.ts -------------------------------------------------------------------------------- /code/src/ch2/login/Login.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/login/Login.tsx -------------------------------------------------------------------------------- /code/src/ch2/login/login.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/login/login.css -------------------------------------------------------------------------------- /code/src/ch2/theme/ThemeContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/theme/ThemeContext.tsx -------------------------------------------------------------------------------- /code/src/ch2/theme/ThemeProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/theme/ThemeProvider.tsx -------------------------------------------------------------------------------- /code/src/ch2/weather/Heading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/weather/Heading.tsx -------------------------------------------------------------------------------- /code/src/ch2/weather/Notification.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/weather/Notification.tsx -------------------------------------------------------------------------------- /code/src/ch2/weather/SearchBox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/weather/SearchBox.tsx -------------------------------------------------------------------------------- /code/src/ch2/weather/WeatherApplication.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/weather/WeatherApplication.tsx -------------------------------------------------------------------------------- /code/src/ch2/weather/WeatherList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/weather/WeatherList.tsx -------------------------------------------------------------------------------- /code/src/ch2/weather/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch2/weather/types.ts -------------------------------------------------------------------------------- /code/src/ch3/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/api/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/components/Accordion/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/components/Button/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/components/GenericCard/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/components/Modal/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/components/Offer/SpecialOffer/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/components/StackView/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/context/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/design-system/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/hooks/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/mocks/graphql/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/mocks/rest/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Address/AddressList/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Address/Store/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Home/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Login/hooks/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Order/hooks/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Payment/hooks/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Product/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Profile/Coupon/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Profile/context/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/Profile/hooks/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch3/pages/SignUp/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /code/src/ch4/combined/Page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/combined/Page.tsx -------------------------------------------------------------------------------- /code/src/ch4/combined/PageContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/combined/PageContext.tsx -------------------------------------------------------------------------------- /code/src/ch4/combined/PageProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/combined/PageProvider.tsx -------------------------------------------------------------------------------- /code/src/ch4/composition/FriendList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/composition/FriendList.tsx -------------------------------------------------------------------------------- /code/src/ch4/composition/PostList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/composition/PostList.tsx -------------------------------------------------------------------------------- /code/src/ch4/composition/UserDashboard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/composition/UserDashboard.tsx -------------------------------------------------------------------------------- /code/src/ch4/composition/UserProfile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/composition/UserProfile.tsx -------------------------------------------------------------------------------- /code/src/ch4/composition/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/composition/types.ts -------------------------------------------------------------------------------- /code/src/ch4/dry/Cart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/dry/Cart.tsx -------------------------------------------------------------------------------- /code/src/ch4/dry/LineItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/dry/LineItem.tsx -------------------------------------------------------------------------------- /code/src/ch4/dry/MyShop.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/dry/MyShop.tsx -------------------------------------------------------------------------------- /code/src/ch4/dry/ProductList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/dry/ProductList.tsx -------------------------------------------------------------------------------- /code/src/ch4/dry/product.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/dry/product.css -------------------------------------------------------------------------------- /code/src/ch4/images/ipad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/images/ipad.jpg -------------------------------------------------------------------------------- /code/src/ch4/images/iphone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/images/iphone.jpg -------------------------------------------------------------------------------- /code/src/ch4/single-responsibilty-principle/BlogPost.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/single-responsibilty-principle/BlogPost.tsx -------------------------------------------------------------------------------- /code/src/ch4/single-responsibilty-principle/LikeButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/single-responsibilty-principle/LikeButton.tsx -------------------------------------------------------------------------------- /code/src/ch4/single-responsibilty-principle/fetchPostById.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/single-responsibilty-principle/fetchPostById.ts -------------------------------------------------------------------------------- /code/src/ch4/single-responsibilty-principle/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/single-responsibilty-principle/types.ts -------------------------------------------------------------------------------- /code/src/ch4/single-responsibilty-principle/useFetchPost.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/single-responsibilty-principle/useFetchPost.ts -------------------------------------------------------------------------------- /code/src/ch4/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch4/types.ts -------------------------------------------------------------------------------- /code/src/ch5/__tests__/Section.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch5/__tests__/Section.test.tsx -------------------------------------------------------------------------------- /code/src/ch5/__tests__/TermsAndConditions.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch5/__tests__/TermsAndConditions.test.tsx -------------------------------------------------------------------------------- /code/src/ch5/component/Section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch5/component/Section.tsx -------------------------------------------------------------------------------- /code/src/ch5/component/TermsAndConditions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch5/component/TermsAndConditions.tsx -------------------------------------------------------------------------------- /code/src/ch5/cypress/quote-of-the-day.spec.cy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch5/cypress/quote-of-the-day.spec.cy.js -------------------------------------------------------------------------------- /code/src/ch5/math/math.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch5/math/math.test.ts -------------------------------------------------------------------------------- /code/src/ch5/math/math.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch5/math/math.ts -------------------------------------------------------------------------------- /code/src/ch6/ShoppingCart.origin.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch6/ShoppingCart.origin.ts -------------------------------------------------------------------------------- /code/src/ch6/ShoppingCart.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch6/ShoppingCart.ts -------------------------------------------------------------------------------- /code/src/ch6/__tests__/ShoppingCart.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch6/__tests__/ShoppingCart.test.ts -------------------------------------------------------------------------------- /code/src/ch6/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch6/types.ts -------------------------------------------------------------------------------- /code/src/ch6/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch6/utils.ts -------------------------------------------------------------------------------- /code/src/ch7/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch7/App.tsx -------------------------------------------------------------------------------- /code/src/ch7/MenuList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch7/MenuList.tsx -------------------------------------------------------------------------------- /code/src/ch7/ShoppingCart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch7/ShoppingCart.tsx -------------------------------------------------------------------------------- /code/src/ch7/__tests__/App.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch7/__tests__/App.test.tsx -------------------------------------------------------------------------------- /code/src/ch7/fixtures/pizzas.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch7/fixtures/pizzas.json -------------------------------------------------------------------------------- /code/src/ch8/acl/UserProfile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/acl/UserProfile.tsx -------------------------------------------------------------------------------- /code/src/ch8/acl/fetchUserData.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/acl/fetchUserData.ts -------------------------------------------------------------------------------- /code/src/ch8/acl/transformer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/acl/transformer.ts -------------------------------------------------------------------------------- /code/src/ch8/books.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/books.ts -------------------------------------------------------------------------------- /code/src/ch8/data-transformation/UserProfile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/data-transformation/UserProfile.tsx -------------------------------------------------------------------------------- /code/src/ch8/searchable-list-props-drilling/SearchableList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list-props-drilling/SearchableList.tsx -------------------------------------------------------------------------------- /code/src/ch8/searchable-list-props-drilling/SearchableListContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list-props-drilling/SearchableListContext.tsx -------------------------------------------------------------------------------- /code/src/ch8/searchable-list-props-drilling/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list-props-drilling/types.ts -------------------------------------------------------------------------------- /code/src/ch8/searchable-list/List.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list/List.tsx -------------------------------------------------------------------------------- /code/src/ch8/searchable-list/SearchInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list/SearchInput.tsx -------------------------------------------------------------------------------- /code/src/ch8/searchable-list/SearchableList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list/SearchableList.tsx -------------------------------------------------------------------------------- /code/src/ch8/searchable-list/SearchableListContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list/SearchableListContext.tsx -------------------------------------------------------------------------------- /code/src/ch8/searchable-list/search.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list/search.css -------------------------------------------------------------------------------- /code/src/ch8/searchable-list/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list/types.ts -------------------------------------------------------------------------------- /code/src/ch8/searchable-list/useListItems.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/searchable-list/useListItems.tsx -------------------------------------------------------------------------------- /code/src/ch8/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch8/types.ts -------------------------------------------------------------------------------- /code/src/ch9/CQRS/ShoppingApplication.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/CQRS/ShoppingApplication.tsx -------------------------------------------------------------------------------- /code/src/ch9/CQRS/ShoppingApplicationNew.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/CQRS/ShoppingApplicationNew.tsx -------------------------------------------------------------------------------- /code/src/ch9/CQRS/ShoppingCartContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/CQRS/ShoppingCartContext.tsx -------------------------------------------------------------------------------- /code/src/ch9/CQRS/type.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/CQRS/type.tsx -------------------------------------------------------------------------------- /code/src/ch9/DIP/AnalyticsButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/DIP/AnalyticsButton.tsx -------------------------------------------------------------------------------- /code/src/ch9/DIP/Button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/DIP/Button.tsx -------------------------------------------------------------------------------- /code/src/ch9/DIP/FancyButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/DIP/FancyButton.tsx -------------------------------------------------------------------------------- /code/src/ch9/DIP/FormApp.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/DIP/FormApp.tsx -------------------------------------------------------------------------------- /code/src/ch9/DIP/InteractionContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/DIP/InteractionContext.tsx -------------------------------------------------------------------------------- /code/src/ch9/UserList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/UserList.tsx -------------------------------------------------------------------------------- /code/src/ch9/avatar/Avatar.origin.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/avatar/Avatar.origin.tsx -------------------------------------------------------------------------------- /code/src/ch9/avatar/Avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/avatar/Avatar.tsx -------------------------------------------------------------------------------- /code/src/ch9/avatar/MyAvatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/avatar/MyAvatar.tsx -------------------------------------------------------------------------------- /code/src/ch9/button/AnalyticsButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/button/AnalyticsButton.tsx -------------------------------------------------------------------------------- /code/src/ch9/button/Button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/button/Button.tsx -------------------------------------------------------------------------------- /code/src/ch9/button/LoadingButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/button/LoadingButton.tsx -------------------------------------------------------------------------------- /code/src/ch9/button/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/button/logo.svg -------------------------------------------------------------------------------- /code/src/ch9/button/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/button/style.css -------------------------------------------------------------------------------- /code/src/ch9/button/withLoading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/button/withLoading.tsx -------------------------------------------------------------------------------- /code/src/ch9/notification/Application.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/notification/Application.ts -------------------------------------------------------------------------------- /code/src/ch9/notification/EmailNotification.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/notification/EmailNotification.ts -------------------------------------------------------------------------------- /code/src/ch9/notification/Notification.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/notification/Notification.ts -------------------------------------------------------------------------------- /code/src/ch9/notification/SMSNotification.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/notification/SMSNotification.ts -------------------------------------------------------------------------------- /code/src/ch9/title/Title.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/title/Title.tsx -------------------------------------------------------------------------------- /code/src/ch9/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/ch9/types.ts -------------------------------------------------------------------------------- /code/src/cypress.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/cypress.config.js -------------------------------------------------------------------------------- /code/src/cypress/e2e/quote-of-the-day.spec.cy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/cypress/e2e/quote-of-the-day.spec.cy.js -------------------------------------------------------------------------------- /code/src/cypress/fixtures/example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/cypress/fixtures/example.json -------------------------------------------------------------------------------- /code/src/cypress/support/commands.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/cypress/support/commands.js -------------------------------------------------------------------------------- /code/src/cypress/support/e2e.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/cypress/support/e2e.js -------------------------------------------------------------------------------- /code/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/index.css -------------------------------------------------------------------------------- /code/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/index.tsx -------------------------------------------------------------------------------- /code/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// -------------------------------------------------------------------------------- /code/src/setupTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/src/setupTests.ts -------------------------------------------------------------------------------- /code/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/tsconfig.json -------------------------------------------------------------------------------- /code/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/code/yarn.lock -------------------------------------------------------------------------------- /manuscripts/ch1/UI-Is-Hard.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch1/UI-Is-Hard.md -------------------------------------------------------------------------------- /manuscripts/ch1/anti-patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch1/anti-patterns.md -------------------------------------------------------------------------------- /manuscripts/ch1/ch1/B21103_01_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch1/ch1/B21103_01_01.png -------------------------------------------------------------------------------- /manuscripts/ch1/ch1/B21103_01_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch1/ch1/B21103_01_02.png -------------------------------------------------------------------------------- /manuscripts/ch1/ch1/B21103_01_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch1/ch1/B21103_01_03.png -------------------------------------------------------------------------------- /manuscripts/ch1/ch1/B21103_01_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch1/ch1/B21103_01_04.png -------------------------------------------------------------------------------- /manuscripts/ch1/krishnan-form-validate.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch1/krishnan-form-validate.md -------------------------------------------------------------------------------- /manuscripts/ch1/state-management.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch1/state-management.md -------------------------------------------------------------------------------- /manuscripts/ch10/Composition-Patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/Composition-Patterns.md -------------------------------------------------------------------------------- /manuscripts/ch10/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/README.md -------------------------------------------------------------------------------- /manuscripts/ch10/ch10/B31103_10_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/ch10/B31103_10_01.png -------------------------------------------------------------------------------- /manuscripts/ch10/ch10/B31103_10_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/ch10/B31103_10_02.png -------------------------------------------------------------------------------- /manuscripts/ch10/ch10/B31103_10_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/ch10/B31103_10_03.png -------------------------------------------------------------------------------- /manuscripts/ch10/ch10/B31103_10_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/ch10/B31103_10_04.png -------------------------------------------------------------------------------- /manuscripts/ch10/ch10/B31103_10_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/ch10/B31103_10_05.png -------------------------------------------------------------------------------- /manuscripts/ch10/ch10/B31103_10_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/ch10/B31103_10_06.png -------------------------------------------------------------------------------- /manuscripts/ch10/ch10/B31103_10_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/ch10/B31103_10_07.png -------------------------------------------------------------------------------- /manuscripts/ch10/ch10/B31103_10_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch10/ch10/B31103_10_08.png -------------------------------------------------------------------------------- /manuscripts/ch11/Layered-Architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/Layered-Architecture.md -------------------------------------------------------------------------------- /manuscripts/ch11/ch11/B31103_11_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/ch11/B31103_11_01.png -------------------------------------------------------------------------------- /manuscripts/ch11/ch11/B31103_11_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/ch11/B31103_11_02.png -------------------------------------------------------------------------------- /manuscripts/ch11/ch11/B31103_11_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/ch11/B31103_11_03.png -------------------------------------------------------------------------------- /manuscripts/ch11/ch11/B31103_11_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/ch11/B31103_11_04.png -------------------------------------------------------------------------------- /manuscripts/ch11/ch11/B31103_11_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/ch11/B31103_11_05.png -------------------------------------------------------------------------------- /manuscripts/ch11/ch11/B31103_11_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/ch11/B31103_11_06.png -------------------------------------------------------------------------------- /manuscripts/ch11/ch11/B31103_11_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/ch11/B31103_11_07.png -------------------------------------------------------------------------------- /manuscripts/ch11/ch11/B31103_11_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/ch11/B31103_11_08.png -------------------------------------------------------------------------------- /manuscripts/ch11/ch11/B31103_11_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/ch11/B31103_11_09.png -------------------------------------------------------------------------------- /manuscripts/ch11/notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/notes.md -------------------------------------------------------------------------------- /manuscripts/ch11/payment.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch11/payment.md -------------------------------------------------------------------------------- /manuscripts/ch12/How-Is-The-Weather-Like.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch12/How-Is-The-Weather-Like.md -------------------------------------------------------------------------------- /manuscripts/ch12/ch12/B31103_12_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch12/ch12/B31103_12_01.png -------------------------------------------------------------------------------- /manuscripts/ch12/ch12/B31103_12_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch12/ch12/B31103_12_02.png -------------------------------------------------------------------------------- /manuscripts/ch12/ch12/B31103_12_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch12/ch12/B31103_12_03.png -------------------------------------------------------------------------------- /manuscripts/ch12/ch12/B31103_12_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch12/ch12/B31103_12_04.png -------------------------------------------------------------------------------- /manuscripts/ch12/ch12/B31103_12_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch12/ch12/B31103_12_05.png -------------------------------------------------------------------------------- /manuscripts/ch12/ch12/B31103_12_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch12/ch12/B31103_12_06.png -------------------------------------------------------------------------------- /manuscripts/ch12/ch12/B31103_12_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch12/ch12/B31103_12_07.png -------------------------------------------------------------------------------- /manuscripts/ch12/ch12/B31103_12_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch12/ch12/B31103_12_08.png -------------------------------------------------------------------------------- /manuscripts/ch13/Summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch13/Summary.md -------------------------------------------------------------------------------- /manuscripts/ch13/ch13/B31103_13_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch13/ch13/B31103_13_01.png -------------------------------------------------------------------------------- /manuscripts/ch13/ch13/B31103_13_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch13/ch13/B31103_13_02.png -------------------------------------------------------------------------------- /manuscripts/ch13/ch13/B31103_13_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch13/ch13/B31103_13_03.png -------------------------------------------------------------------------------- /manuscripts/ch2/React-Essentials.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch2/React-Essentials.md -------------------------------------------------------------------------------- /manuscripts/ch2/article-editor.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch2/article-editor.md -------------------------------------------------------------------------------- /manuscripts/ch2/ch2/B21103_02_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch2/ch2/B21103_02_01.png -------------------------------------------------------------------------------- /manuscripts/ch2/ch2/B21103_02_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch2/ch2/B21103_02_02.png -------------------------------------------------------------------------------- /manuscripts/ch2/ch2/B21103_02_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch2/ch2/B21103_02_03.png -------------------------------------------------------------------------------- /manuscripts/ch2/ch2/B21103_02_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch2/ch2/B21103_02_04.png -------------------------------------------------------------------------------- /manuscripts/ch2/code/Article.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch2/code/Article.tsx -------------------------------------------------------------------------------- /manuscripts/ch2/code/StaticArticle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch2/code/StaticArticle.tsx -------------------------------------------------------------------------------- /manuscripts/ch3/Project-Structure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/Project-Structure.md -------------------------------------------------------------------------------- /manuscripts/ch3/ch3/B21103_03_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/ch3/B21103_03_01.png -------------------------------------------------------------------------------- /manuscripts/ch3/ch3/B21103_03_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/ch3/B21103_03_02.png -------------------------------------------------------------------------------- /manuscripts/ch3/ch3/B21103_03_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/ch3/B21103_03_03.png -------------------------------------------------------------------------------- /manuscripts/ch3/ch3/B21103_03_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/ch3/B21103_03_04.png -------------------------------------------------------------------------------- /manuscripts/ch3/ch3/B21103_03_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/ch3/B21103_03_05.png -------------------------------------------------------------------------------- /manuscripts/ch3/ch3/B21103_03_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/ch3/B21103_03_06.png -------------------------------------------------------------------------------- /manuscripts/ch3/ch3/B21103_03_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/ch3/B21103_03_07.png -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/atomic-design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/atomic-design.md -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/atomic-design.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/atomic-design.xmind -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/component-based.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/component-based.md -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/component-based.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/component-based.xmind -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/feature-based.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/feature-based.md -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/feature-based.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/feature-based.xmind -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/mixed.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/mixed.md -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/mixed.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/mixed.xmind -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/mvvm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/mvvm.md -------------------------------------------------------------------------------- /manuscripts/ch3/mindmap/mvvm.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch3/mindmap/mvvm.xmind -------------------------------------------------------------------------------- /manuscripts/ch4/Design-Components.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch4/Design-Components.md -------------------------------------------------------------------------------- /manuscripts/ch4/ch4/B31103_04_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch4/ch4/B31103_04_01.png -------------------------------------------------------------------------------- /manuscripts/ch4/common-anti-patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch4/common-anti-patterns.md -------------------------------------------------------------------------------- /manuscripts/ch4/one-way-data-flow.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch4/one-way-data-flow.md -------------------------------------------------------------------------------- /manuscripts/ch5/Notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch5/Notes.md -------------------------------------------------------------------------------- /manuscripts/ch5/Testing-In-Frontend.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch5/Testing-In-Frontend.md -------------------------------------------------------------------------------- /manuscripts/ch5/ch5/B31103_05_01.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch5/ch5/B31103_05_01.jpeg -------------------------------------------------------------------------------- /manuscripts/ch5/ch5/B31103_05_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch5/ch5/B31103_05_02.png -------------------------------------------------------------------------------- /manuscripts/ch5/ch5/B31103_05_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch5/ch5/B31103_05_03.png -------------------------------------------------------------------------------- /manuscripts/ch5/ch5/B31103_05_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch5/ch5/B31103_05_04.png -------------------------------------------------------------------------------- /manuscripts/ch5/ch5/B31103_05_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch5/ch5/B31103_05_05.png -------------------------------------------------------------------------------- /manuscripts/ch5/ch5/B31103_05_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch5/ch5/B31103_05_06.png -------------------------------------------------------------------------------- /manuscripts/ch6/Common-Refactorings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch6/Common-Refactorings.md -------------------------------------------------------------------------------- /manuscripts/ch6/ch6/B31103_06_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch6/ch6/B31103_06_01.png -------------------------------------------------------------------------------- /manuscripts/ch6/ch6/B31103_06_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch6/ch6/B31103_06_02.png -------------------------------------------------------------------------------- /manuscripts/ch7/TDD.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch7/TDD.md -------------------------------------------------------------------------------- /manuscripts/ch7/ch7/B31103_07_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch7/ch7/B31103_07_01.png -------------------------------------------------------------------------------- /manuscripts/ch7/ch7/B31103_07_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch7/ch7/B31103_07_02.png -------------------------------------------------------------------------------- /manuscripts/ch7/ch7/B31103_07_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch7/ch7/B31103_07_03.png -------------------------------------------------------------------------------- /manuscripts/ch7/ch7/B31103_07_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch7/ch7/B31103_07_04.png -------------------------------------------------------------------------------- /manuscripts/ch7/ch7/B31103_07_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch7/ch7/B31103_07_06.png -------------------------------------------------------------------------------- /manuscripts/ch8/Data-Access.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch8/Data-Access.md -------------------------------------------------------------------------------- /manuscripts/ch8/branch-by-abstraction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch8/branch-by-abstraction.md -------------------------------------------------------------------------------- /manuscripts/ch8/ch8/B31103_08_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch8/ch8/B31103_08_01.png -------------------------------------------------------------------------------- /manuscripts/ch8/ch8/B31103_08_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch8/ch8/B31103_08_02.png -------------------------------------------------------------------------------- /manuscripts/ch8/ch8/B31103_08_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch8/ch8/B31103_08_03.png -------------------------------------------------------------------------------- /manuscripts/ch8/notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch8/notes.md -------------------------------------------------------------------------------- /manuscripts/ch9/Design-Principles.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch9/Design-Principles.md -------------------------------------------------------------------------------- /manuscripts/ch9/ch9/B31103_09_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch9/ch9/B31103_09_01.png -------------------------------------------------------------------------------- /manuscripts/ch9/notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/React-Anti-Patterns/HEAD/manuscripts/ch9/notes.md --------------------------------------------------------------------------------