├── .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
--------------------------------------------------------------------------------