AI prompts
base on A free book that talks about design patterns/techniques used while developing with React. # React in patterns
:books: A free book that talks about design patterns/techniques used while developing with [React](https://facebook.github.io/react/).
## Book
* [GitBook](https://www.gitbook.com/book/krasimir/react-in-patterns/details)
* [Web](https://krasimir.gitbooks.io/react-in-patterns/content/)
* [PDF](https://www.gitbook.com/download/pdf/book/krasimir/react-in-patterns)
* [Mobi](https://www.gitbook.com/download/mobi/book/krasimir/react-in-patterns)
* [ePub](https://www.gitbook.com/download/epub/book/krasimir/react-in-patterns)
![React in patterns cover](./book/cover_small.jpg)
## Translations
* [简体中文](https://github.com/SangKa/react-in-patterns-cn)
## Content
* [In brief](./book/chapter-01/README.md)
### Foundation
* [Communication](./book/chapter-02/README.md)
* [Input](./book/chapter-02/README.md#input)
* [Output](./book/chapter-02/README.md#output)
* [Event handlers](./book/chapter-03/README.md)
* [Composition](./book/chapter-04/README.md)
* [Using React's children API](./book/chapter-04/README.md#using-reacts-children-api)
* [Passing a child as a prop](./book/chapter-04/README.md#passing-a-child-as-a-prop)
* [Higher-order component](./book/chapter-04/README.md#higher-order-component)
* [Function as a children, render prop](./book/chapter-04/README.md#function-as-a-children-render-prop)
* [Controlled and uncontrolled inputs](./book/chapter-05/README.md)
* [Presentational and container components](./book/chapter-06/README.md)
### Data flow
* [One direction data flow](./book/chapter-07/README.md)
* [Flux](./book/chapter-08/README.md)
* [Flux architecture and its main characteristics](./book/chapter-08/README.md#flux-architecture-and-its-main-characteristics)
* [Implementing a Flux architecture](./book/chapter-08/README.md#implementing-a-flux-architecture)
* [Redux](./book/chapter-09/README.md)
* [Redux architecture and its main characteristics](./book/chapter-09/README.md#redux-architecture-and-its-main-characteristics)
* [Simple counter app using Redux](./book/chapter-09/README.md#simple-counter-app-using-redux)
### MISC
* [Dependency injection](./book/chapter-10/README.md)
* [Using React's context (prior to v. 16.3)](./book/chapter-10/README.md#using-reacts-context-prior-v-163)
* [Using React's context (v. 16.3 and above)](./book/chapter-10/README.md#using-reacts-context-v-163-and-above)
* [Using the module system](./book/chapter-10/README.md#using-the-module-system)
* [Styling](./book/chapter-11/README.md)
* [The good old CSS class](./book/chapter-11/README.md#the-good-old-css-class)
* [Inline styling](./book/chapter-11/README.md#inline-styling)
* [CSS modules](./book/chapter-11/README.md#css-modules)
* [Styled-components](./book/chapter-11/README.md#styled-components)
* [Integration of third-party libraries](./book/chapter-12/README.md)
* [React and separation of concerns](./book/chapter-13/README.md)
## Source code
The code samples used in the book are available [here](./code).
## Other resources
* [React Design principles](https://facebook.github.io/react/contributing/design-principles.html)
* [Airbnb React/JSX Style Guide](https://github.com/airbnb/javascript/tree/master/react)
* [React patterns at Planning Center Online](https://github.com/planningcenter/react-patterns)
* [React patterns by Michael Chan](http://reactpatterns.com/)
* [React patterns, techniques, tips and tricks](https://github.com/vasanthk/react-bits)
## Building the book
`yarn install && yarn build`
*To make the ebook generating possible install [calibre](http://calibre-ebook.com/about) and `ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin/`.*
", Assign "at most 3 tags" to the expected json: {"id":"3822","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"