René's URL Explorer Experiment


Title: GitHub - grpse/mithril-hooks: Use hooks in Mithril

Open Graph Title: GitHub - grpse/mithril-hooks: Use hooks in Mithril

X Title: GitHub - grpse/mithril-hooks: Use hooks in Mithril

Description: Use hooks in Mithril. Contribute to grpse/mithril-hooks development by creating an account on GitHub.

Open Graph Description: Use hooks in Mithril. Contribute to grpse/mithril-hooks development by creating an account on GitHub.

X Description: Use hooks in Mithril. Contribute to grpse/mithril-hooks development by creating an account on GitHub.

Opengraph URL: https://github.com/grpse/mithril-hooks

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:421e2f6f-ef44-a821-07ab-0a0502c2a274
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-idBB90:33150D:431AD7:574CA5:698B9F6B
html-safe-noncef97e9c5518ace2bdcf623f33aabf0a57710a56a1485e810f72b5d0559203c34a
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQjkwOjMzMTUwRDo0MzFBRDc6NTc0Q0E1OjY5OEI5RjZCIiwidmlzaXRvcl9pZCI6IjMyNjM5ODY4MDgxMTk4NjEwOTkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacbdab1e71f223e23c85e52623d5315968e58a32c31156eed4ce0dd4895c4bfafe
hovercard-subject-tagrepository:287137930
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/grpse/mithril-hooks
twitter:imagehttps://opengraph.githubassets.com/2d2ceefacb43cfb48071d0fcb6af6c8ba1fa4a07bd36aa60de7f0b9e11c723d7/grpse/mithril-hooks
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/2d2ceefacb43cfb48071d0fcb6af6c8ba1fa4a07bd36aa60de7f0b9e11c723d7/grpse/mithril-hooks
og:image:altUse hooks in Mithril. Contribute to grpse/mithril-hooks development by creating an account on GitHub.
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None640eeb7b6ff4d8d106235d228c0c286e82592d4d2403227b5b2b4fc5832297a4
turbo-cache-controlno-preview
go-importgithub.com/grpse/mithril-hooks git https://github.com/grpse/mithril-hooks.git
octolytics-dimension-user_id5807336
octolytics-dimension-user_logingrpse
octolytics-dimension-repository_id287137930
octolytics-dimension-repository_nwogrpse/mithril-hooks
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forktrue
octolytics-dimension-repository_parent_id178091351
octolytics-dimension-repository_parent_nwoArthurClemens/mithril-hooks
octolytics-dimension-repository_network_root_id178091351
octolytics-dimension-repository_network_root_nwoArthurClemens/mithril-hooks
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release3d444f0a47beeeac94cddbb51c91ab408befe8d4
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgrpse%2Fmithril-hooks
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgrpse%2Fmithril-hooks
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=grpse%2Fmithril-hooks
Reloadhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks
Reloadhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks
Reloadhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks
grpse https://patch-diff.githubusercontent.com/grpse
mithril-hookshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks
ArthurClemens/mithril-hookshttps://patch-diff.githubusercontent.com/ArthurClemens/mithril-hooks
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fgrpse%2Fmithril-hooks
Fork 1 https://patch-diff.githubusercontent.com/login?return_to=%2Fgrpse%2Fmithril-hooks
Star 0 https://patch-diff.githubusercontent.com/login?return_to=%2Fgrpse%2Fmithril-hooks
0 stars https://patch-diff.githubusercontent.com/grpse/mithril-hooks/stargazers
4 forks https://patch-diff.githubusercontent.com/grpse/mithril-hooks/forks
Branches https://patch-diff.githubusercontent.com/grpse/mithril-hooks/branches
Tags https://patch-diff.githubusercontent.com/grpse/mithril-hooks/tags
Activity https://patch-diff.githubusercontent.com/grpse/mithril-hooks/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2Fgrpse%2Fmithril-hooks
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fgrpse%2Fmithril-hooks
Code https://patch-diff.githubusercontent.com/grpse/mithril-hooks
Pull requests 0 https://patch-diff.githubusercontent.com/grpse/mithril-hooks/pulls
Actions https://patch-diff.githubusercontent.com/grpse/mithril-hooks/actions
Projects 0 https://patch-diff.githubusercontent.com/grpse/mithril-hooks/projects
Security 0 https://patch-diff.githubusercontent.com/grpse/mithril-hooks/security
Insights https://patch-diff.githubusercontent.com/grpse/mithril-hooks/pulse
Code https://patch-diff.githubusercontent.com/grpse/mithril-hooks
Pull requests https://patch-diff.githubusercontent.com/grpse/mithril-hooks/pulls
Actions https://patch-diff.githubusercontent.com/grpse/mithril-hooks/actions
Projects https://patch-diff.githubusercontent.com/grpse/mithril-hooks/projects
Security https://patch-diff.githubusercontent.com/grpse/mithril-hooks/security
Insights https://patch-diff.githubusercontent.com/grpse/mithril-hooks/pulse
Brancheshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/branches
Tagshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/tags
https://patch-diff.githubusercontent.com/grpse/mithril-hooks/branches
https://patch-diff.githubusercontent.com/grpse/mithril-hooks/tags
28 Commitshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/commits/master/
https://patch-diff.githubusercontent.com/grpse/mithril-hooks/commits/master/
.vscodehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/tree/master/.vscode
.vscodehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/tree/master/.vscode
packageshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/tree/master/packages
packageshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/tree/master/packages
scriptshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/tree/master/scripts
scriptshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/tree/master/scripts
.browserslistrchttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.browserslistrc
.browserslistrchttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.browserslistrc
.eslintignorehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.eslintignore
.eslintignorehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.eslintignore
.eslintrc.jshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.eslintrc.js
.eslintrc.jshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.eslintrc.js
.gitignorehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.gitignore
.gitignorehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.gitignore
.prettierignorehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.prettierignore
.prettierignorehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.prettierignore
.prettierrc.jsonhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.prettierrc.json
.prettierrc.jsonhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/.prettierrc.json
README.mdhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/README.md
README.mdhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/README.md
babel.config.jshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/babel.config.js
babel.config.jshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/babel.config.js
lerna.jsonhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/lerna.json
lerna.jsonhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/lerna.json
package-lock.jsonhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/package-lock.json
package-lock.jsonhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/package-lock.json
package.jsonhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/package.json
package.jsonhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/blob/master/package.json
READMEhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#mithril-hooks
Introductionhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#introduction
Online demoshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#online-demos
Usagehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#usage
Examplehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#example
Hooks and application logichttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#hooks-and-application-logic
Rendering ruleshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#rendering-rules
With useStatehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#with-usestate
With other hookshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#with-other-hooks
Cleaning uphttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#cleaning-up
APIhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#api
withHookshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#withhooks
Default hookshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#default-hooks
useStatehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#usestate
useEffecthttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#useeffect
useLayoutEffecthttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#uselayouteffect
useReducerhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#usereducer
useRefhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#useref
useMemohttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#usememo
useCallbackhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#usecallback
Omitted hookshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#omitted-hooks
Custom hookshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#custom-hooks
Childrenhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#children
Compatibilityhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#compatibility
Sizehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#size
Supported browsershttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#supported-browsers
Historyhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#history
Licensehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#license
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#introduction
React Hooks APIhttps://reactjs.org/docs/hooks-intro.html
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#online-demos
Flems playgroundhttps://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvAHgBMIA3AAgjYF4AOiABOtWsWEA+FgHoOnKSAC+FdNlyICAKwRU6DJsTwQsAB1oji3LNzBjbwksTNxEs2QFc0ZgNYBzfDosWSwIYkIRaAABACZ8AAZEgFoRanwAFgB+LFo2T1hhQTRTCytuYG4Ad3DCAAlxXzgKbk84GABlYgxGbmU7B25hMIioqGTCRrgitGKDOGsAYVpzeiNufm4ACgBKDakK4u5uD1b2s87uxiPuERhiTxE0bmQb46wt4QVhFuEAUQ41mItAu3AA5G1Lj0YGDhDsbgBdYrKOb0BbcBq0XwwNjLVZodabGoRTFNLZ4iwEhjw2ZoebWACCZjMG0Oz24nAgMCqiG2e34UjeNi2pJxFLW1ORxWKWHwuW8xE+7LYtGonhwDHwAEdPDARABPDowWDUYEiT4gADEYgkcIoNyZZmKOwA3MVKCB2ibiBA0XgAJyIDIZFRqECYHB4IJwPQ0eiMZhaFQIqhQCBoJpIVDhjR4EaRaATKbRKDQhYex7kLTOVzuLw+AJBFahWpjItYuDRJIZfAARnkEAWLdGhcmHY9xH1Zk0nuoUTMxmUCOUQA
Simplest examplehttps://flems.io/#0=N4IgZglgNgpgziAXAbVAOwIYFsZJAOgAsAXLKEAGhAGMB7NYmBvAHgBMIA3AAgjYF4AOiABOtWsWEA+FgHoOnKSAC+FdNlyICAKwRU6DJsTwG4xbsG4B3CMUIAJcQGs4FbgFc4MAMrEMjbmVufm4sW0IRaEdaF0E0ONNzABVaAHNU2GDuAAoASmCpCzjubkTuZGooCGonGDY3L2IAYSqauoBdLM8fP0ZssAwoL1yAbmLuERhidxE0UOzhBWE3ZHGSrAWQACN3YmJ6ZbWSornjs-pK6qdEHPz+QsaWq7rsgEJLtrZco5LVH+5hCl0rBhEdchQjhtFlxlqVWrU2NwAPwAkAAeXiIG4N2EaLAYGE31O7SJygS9DM3GiCKBGRgWRsdmpcGytNgRPJaEpAEEAA68rLAcacCAwKw3PIFSHZal1NkwUlxOJYfBYWjuBgLU5sWjUdw4Bj4ACO7hgIgAnt4YLBqPsRJsAMRiCSEiGnPm8uK5Sg0WhYXnQM14LYYLbWlRqECYHB4fDUOB6X2GZhaFTtKhVNAuJCoKMaPBhOyRKAAASg-ngxioM3IWhIxF5cEQslkGt5TlScb9skLEWgJYATPgAAz4AAsPfCxdVEDQ+F0PuI5t5mhAcGokV5VbX1pgtogFLww8QA4A7ABmAcATgj6hjWl7xYAtIRnHAyxWzD6a3h643m62aDtp2dBYJORbQC+b4lqOY74AAjPIEBmOBfZQFBMSJkuK54Oum7GMo6Z5veIDeBA-qZDAAAe2C8rAKhAA
Simple form handling with useStatehttps://flems.io/#0=N4Igxg9gdgzhA2BTEAucD4EMAONEBMQAaEAMwEskZUBtUKTAW2TQDoALAF0fmPSk6IBqEAB585AG4ACcvgC8AHRAAnCBE7KAfKID0EyVpABfIvSYsQrAFbUSkAUM4iHMTtODSA7uU7sAEuoA1jBE0gCueABKiKRhkYgAypyYgtLG0vLSjL7sKpSBECGKUCWu7gDCEIzY0E6Z0gAUAJSZWh4l0tLl0jRg8ORgQQRheJwVA0MEALoNCcmpiI2kmPB4zZ3d0G69CSoMzKOInACqePsWs1nzKYKNysobUF09NOQwAAoQbuRQAOZHTgASU+304vz+VwieAWdxWa0QTxe23cFEQ8HwMVIc2isRa0l0umknAg0jG0lIEDAkRKmx64Ww+EWZ0QF2YDUQbQ6zy6ZOOLLZS0QrBSKj+x1YklW4URm2MAG46SjpCpEGMAGIQFSMBr4+TtYCbLpjAUHJYPEBI3ljEFfH7-ZardZGvmcAAq5GYEHCnEaevaaIxWNY1JUqoErEp1JgLTCAFYAAxWhW0nk9diYKD4JCJcIAIxy7iynP13N5smxjT2ZukAEJ5FkLa1DTzyzbQfa-o1OCoZVauhl0Xgy+XpKtWb7lABRRwqMfQ1lmx4u4wu4XYVWSJwAEVimHC8F9ycVPM2qs44X2vRdjHuZC1jGURBdXRbo95-UwMBgADkLChpGUSltSfF9eW2fNCwAjMsxzSDfDA0wwNvZQDCfDpwCwb9lBQIDyHRfBlFMQDW1HFCQDQ4gMM-bDUGUBwewQIiwjA8tyOwdCAANTX-aQABJgGrCxpAAHxEwCQB-DRXSIzjmmfUjy37Xl5OQu9KLCQ1MK-GAcLwgjmJI98unIjTqKw3S6P4Rj4EM1jeXI35sB9UDFOMt9jPfGiYFwkAnJc4h7PfTgAE9sEQXzBAAD00QK3M87AsDARB2AQfBWQA5QeOYVzPPfM1MpAIScrivLRyleAZQA4rEAUsry2gfzOGqxlmXOM06vqroJBgTA8yQfAAPeO1wX+TqusJMcfQgKNIgAnsZTCSaer6gbiVJFYwEoXxFmkAhfAhYl2HeCkkEYXT4uM6AwFVRYAMaTx8GqdJWlLQNMViENL3DItpCexhxry1dLq6ZSlMB0GIeydSpHQrTvL0sh8IxOzLtM2GqPhizEYYtRbJMFiQeh5Q8x9ElSlK+qPK67y-2YQrSc4cnZBgABaAYoCCXKuuJMKIokmB4NiqHPJW-qCCGjtRoBILeSQomumURIhEIkBZbBlSwNUtzhrBQ6ADJ9aaez0ckOH6Oxqz3tRsrTfN7TaN83GmIJoz6vIxnye5rrqZ52neJJsnoG9nnQvChmg4pkW8uuyYggA1UNQfaP33lnmJJiMYHgV6QNaU+yNeUq1phKYGekKYZ8CqGo6gEBofD8CuY2r2ooCcJ4ymVABBbBsAaDzJHwrx7terQb0aCuCBb2vOCeYGSkYVhGG9AR7h5J7qWYCMAEcZRUELlaQMASRUO8AGI1A0R5Op7jioCePg8CP8FthEAB2FAEwJ8xmBEENvz4AxJwf9gI6g8tgTA+AJD-AAgAJgTNgKKJ5jCP3RIgY+5BX5oATCgOMJhpgkA5iEWgP9LCk3gIwTAS9fj-zsEVFQvA0BcE4LgFAhIwD4CgLYEM8BvT4FIFgVUIZqi6EwNYTAUVdADDzDAXQ5DKG6ATKwN+rAAAsugwDfjkQeSh1CoC0L4GHSwbgQpIG-iAM0IhCx5EoAAASwIINwfBLyMJAMw1hhJwhQGwEEP4wjGC6GsfkeAtjYGsCUeooJlA9E2DoUYkQMAbrkGwM4UwpCrG5GCazVKRQYD2MWE4kgLiRDuJ8p47xvj-GBMyZQbJwQ8kRNYAARn0O8Tg1S-BZJycQkg8S0CJPyCk-BJBLFoESJ6RKnJQHSBgtmQ6Dd2ALlhMgYwQA
"Building Your Own Hooks" chat API examplehttps://flems.io/#0=N4IgtglgJlA2CmIBcBWATAOgOwEYA0IAxgPYB2AzsQskVbAIYAO58UIB5hATncgNoAGPAIC6BAGYQE5fqFL0wiJCAwALAC5hY7WqXXw9NADxQIANwAE0ALwAdED2Lr7APiMB6U2Ze3SOlgiE6hBkMsoCSACcIAC+eHIKSioAVjIEJHoG6jQZ5OoWwBYA7hDqqgASxMQA1uR4FgCuLADK6vT6FjEW1haQZVxSlTXkvhBgjMRc+YVN8ABiAwZQre1NnRbiPGAW9hjuhE3qxGAAtKpVtfaj45PTG4ukUOQAIu3065vHOyrumxBL5BOUDeV1Ivly+QW-0eK3Uax6AApCn8lgBJKCdACU3RcBV8FgsEKs5AA8qRYBBSPBuo0WFClrCmgiUY90Zj8RYuPA4VxSMSyRSqd1rD1SA1YLAOQSAPy9BG7PKrQFQJwYBqkaqkYhFMEgdl8gkWJD88mU+BSw2ysDylSKuHK1VkQXmvUWgnG60Ktr2oGO8TiZ32fUxcGhfJDaqsekw73w4qlCoXcgI6PLWPkfWhiiQh4YxHI3P1VT0cgAYWL6gAgowIFicXiDVyeXzPSoWVB7PU+BbWxh6GY3lxO26G4axxY8gBPBDG4AjscAI3ohGqAHMeOqoKiwPRV-BjQADBpcWAIgAkwHbfYHbS4MUxB-nnRHIYNBMxeB7Now8kUnfu0JQD+iQfl+CqMMu8BDnqn5vhYxZlhW1a1gAZChcpekq-7WhGUa5oydQFABaJQMaV7QFi+oEiIwZZnkFi4VAqY0iUZQRsmqaZqQRLlu0ABK8CEBANZZAAChAK5QTSCLYtYuJzgaRJ8FyQkiXo6L1Cw6gCap0LqOiIg0rMsLwAiOBUYSYbEjpwl6QKZpGXS+HpgiKm2VkbIck2x4tt+GTqDwsAjOwFjdnBOEXHhgEEfUBaAeixpuWp+kYvesFjr2ASCc47Ajq2WVBMOcFjgp47jmQhDFqQe7GtSckTtyNnJeiCIAHINGAC5QQi8AYLee7qBgA6wA08CYhZZVxE+7YvG8GA7owzK5vW8rFeOrbEIwwRkEVZVlaVe1lcNo1kbmGDQE+Y5TWtZVXr+5o3YaE3juNI7PRZNG+K+RKMbx2mCe5ejiZJXAsQm7EIn9TV6cDkZcFxRLVow0myfJOyKVZfAIX9yGady5QljjNaGT0xneqZ4j0EFY1edyPmhWBKj+YFwXpetNoLg06hHLqbP7ZdhIMOQ5CtYkxrY0hNYWLK9ic9zO0gEa3xyzzxInIK1S7YdFgVRSK7GjJ9ZaQTiHtMhCIAIQS2bNbPVdfPjtbVZSzLIDPPAy7BDe1KVe09hK-YlZBOY7Q+xWoJle9DtO8hFhoXKv0VtDYkSXDoHhd+M1a2OM2vG081MEtgErU+EU1FFSyxQL7YO2VMc1rXhr3m970ciIX10eGkVQEjYNsUmCJI1xYDzcQ6rqKtBIqgcih6BgACOo1cJOzTwIERxcDaADEjg5enBKMUjvj6joJDjFIUE0EuXXaBwa-ZSEFA0DgUQnC-aAACyxPEID3TkhzHDOEmDAqRT5kH0IYZQYwJhTCIkwWsXRPjbF2PsCsJx4GgiJDMFo5N6izAAKL+myusHofRVADFgOxXwvh4AAA8YH5CJLMVMBEaTtnRPWA6SkICklNFSPG+leHOhJrSeAJkERiglFxAk4h1TBzIPBegjwEAEV4tVUydomjYgOgSLSqIhFmgRJo8g50DFUgsq+DkBCiFBARIbeqOiLDwIwOQBoC5OADC6gAFWICwly7CoBFiUXAMR6Y1F7met5XkFh7HyRHM49Urj3HcAgF1BYxw-FKiLiRIJyjQlKnCTTOCr4CRxFCgEz6YJGx02iTw+yVIO5+HSMcGsCAuBX3oDffw995FP2UFgJAABmNA38EiKByGg5xoDmmZEgboeiuc3g0gOhEUchpjGzhHHUvh+4LABVGhaEpnQ2YvzWbo9Mmy1rbOdMafZD0rocmugSNAlyxwbLOYaa5ZoyJUxYIcx5X0ADc1CqT0NuJZbMTipY9AOkkjxqT4A+MyfaA2ATckhNUVVCJnCLREnbGw3Ms02h8AqcCuCuQqC9VgMQVcCIDxwpSQuSkq4Jzpg2JMCwF4AkxAPJiMlOczrGNMfUuqxFWR5hFBYNAI5ZSU2piOW5XBRr8sNESKAa96CThpGgAQAgLAAGoLA4F1RYAAVBYAAsu0VQGAuDBOODJFVujuReLGPAMeE9YkxJHFVDFYSsUU0FemKOFh1UMEnBYtmiS3HwrSVsZFTRUW5g0oovJmKlHYocbiqy+KeiLOJaSi0V4hVfKFKKcUsAnUQsoAgDA1LaVHgoDGxlzLWVKnZaDLlyaoA8r5RaX1Kj-UZsDYBFxwaVWvhiGS7p69H5hBAIMiIaATiLqQGgaIcQxlJBmkCOa0zdAQOyMoOhDDq35Hze8HoYUCSOOgMaIQFp7rGnsKieQ2cnE3noFwZ9IANDqEYEgdw7gv1lGPIQBAs8TGrgTG486xBgPC25OQdwExYCTjKAYeA7g6EKEYNIYDn6uBvwwIwaqWsnkfLvUah2T7vgACklEugdv2QcP6-0AaAyB1QYGIMGCgzBhccGENaWQ6h9DqhMPYdobh-DLHbwnEwKR1c5G2a3tIlKmjYtvhWpgJOd9cmv1se5hx4DUxuNcHA-ASDGBoOgcEyEYTSGUNUHE5JnD4xZOEZXSRsjuUDSvhEICmdD9Qg0A-kgAAHF-Tdv9Eg0AwIQYWYDZlHpAAuYgUAtUHXEOAk4lNIBoeNOQJRgIWADHEGS18GB8UHVMOQPDmqyIIFoSqqmEBVykBOKUKz5BjSECyFBFVS4VzrjHo8Y0W9-QVY5BBGAzLjQ4BQIwFrjTqvLUNWt4uB10tcHVURo4AGjXLYnFQCiW94AXcq74a8g41klCgGUY0KABDLZVRJ9rGgnsvZWwaHbe2Th2tMImiwz2ACkQ3lxrg3ONiw53LscmG1DsbUATjkAgAAL12SQMwg3Vv3TWTlvQqOMe7JwAANlexyHcXBoOkHvRYPVerF2U9IFV+rkFQa1Z4Q1ycTW6EqoDHQk4o2igLau6QMd7bsu5bR5jhbH8WcEhINS79sP6Dq-F5Ln0Kppgcnu49o1323vwA++oBbRuEeTH+4DiAwOwcqtW8Y30g0nQOW25D0bm5jQUkUJrp3OuMDEH9M6NZiPPcw65FAP36Zndqg1FqHUoePfQ-U1vGAUfVvMyoOQUPVuoInHS-LMAC3js1rO+nlVs3TDVQW0tn7U9ufhr5-XiwyRDgQHEJOE4-ksjN9R7edQrWKQda6-oMAvXCQDa4JrrPQUGrrzWdT2n9PGdGqs5V4LvT52RCQDgDdYgQAazCHwLdV9xQ7nmpSBLSWCDHm0ModjvWgOECgKQVICXqUNCgAGL9vUz7AeSHoFoXcApHcXcE5lgB3HcAEGwAwA-n2GFnAPP3oEvwl0SzSBAHUEnEYCSCnGoBiz-mUDIQoQAAEGB9A8gdA78aBH9AN3B1RGA1wEtjh3BiCpASDMAYD4C2DYBUCQEMCsCcCaB4UtpRlYtxkiCEwKEgFhgyDQ5KDb8TwaDjMn96DSBGDVxmCwBWCpCpAZDag5CKDsgCBBDcCUlRCYgD9CCQB7AAAhBoKQavFlAATTHlBhJETyoUVl9nyErFElRAsHczw0QBiCAA
React documentation on custom hookshttps://reactjs.org/docs/hooks-custom.html
Custom hooks and useReducerhttps://flems.io/#0=N4IgtglgJlA2CmIBcBWATAOgOwEYA0IAxgPYB2AzsQskVbAIYAO58UIB5hATncgNoAGPAIC6BAGYQE5fqFL0wiJCAwALAC5hY7WqXXw9NADywIpANYACLvFgBeADohy6gJ7TV8eOqeXVN8UcQDXVmJAB6cIBXFgxxMnV6AHd4SkUMEjBwmwR6FnJwgDcUbAw0cMJyAvpYWAyq3zN9AHMuCDcg8lV6AGYADgAWAFpxUjAAeQBhAEcAIwAVWAB1AElYACs+gBlXefXiLAmAVQBldXXyAGlJgcZxxgBFWenXCCwAJS5VADksKKgIABOd5JVSXcwAWQAEoxCltZlCAOKAk5cXzcYhVYhtZpmIL0UhkVxgYgxJwAPgcpCpRgBhUs0CCPGIPhA5KM4TplNIOhYCEI6ggZBkyhwSAEIAAvng5AolCoLjoSHoDOoaMqXJZgJYku1VFDiMRzOQ8JYYvAAKLicTwAWm81beiuUnqK02u1mlhnej6e0sd7wcR++ABqBRQjwLiWSWWOyWSDqfxSA1G8hUiBgRjY9Raz3wSaklVRmPiHhgSxODAVGLqYhgIaqQ3GpxUqkanMkKJF0PhyOxywAChcPvgpvoAqFpAAlLHyVqqZZLORdepCKpB+PBWQMG5GPAZ8AF5ZCHl4BWQGZuPBFHonEgj4ubOoolxSLnO3okEvEvoMoWcwA1JYODRkeJ4sOeUC2jYN6sveb6LtY3gvm+2ofuoX7Dr+6GWEMwGgQhUHiPQUSwBhD6WImPBJJYpDwDRFpcDwXADk4RykN0pBwKwlibpO97sLxE5kFOR6SlS4nUqQ7aWAWXb6FGcYDtq0CmmY7QQDUcl6KaMHEIU+b-n2kkznYc6HghMl8Oh3q+pYALkIwPpriI-bmj2EYsehkYeZGppof+X7qYKWn-tGU4ANxgcKHZhXGNk-vAf7yVFUmLlZwWsKaLDqCspDtKwrlxuatnwAOxGwCwkXRRQOZQHWbn+oGA7VZZMX2XW2muggsGNSGzWtYuNWanpBn9i1s7zgh6XtaN8DjKQ8xcAS5AaWQFpceNplzqx02IXNXWRgO0BTngFGLvVYAZC+Nh6Bgc0WgZehbBALgGEdTjqMtFBrXRXFOLp176fNi3fatW6kBtUCiXtMOIR1V2EDdqoYPQMCPaqL1vXRLGfWDv0GFAANISSBkLUtK2-VDcOIZd11MSjhAMFUWPqPdQMGaxIB8QZTg05JQ0Ieabq2uoA4TWZU3wzleUFVAA5fVE+6pYu0qWHw4QAFSWNejBuLxTFOl+ZCwK41hdrxOYkvJlia+EIg00eT4oYOFFgFzyVFgD51S-DiFM3k5DfHKQX5foUCWAA-OePPwL4X4tuwPuLmQV4jl+hSElBk0WX7ft00jDN6P2mfEFBGCXRFFZ7fDAt+9KPvu5W3lcEMZg48TfDV3ni5Nyo6HE7nPcp9JNjp5YpfZ5Ll1dRaPWM8jxdxpPSWXcn0amuhp3r33sxROotbUknNd+0Pw-pczQch+ee8H2Q3sn3nDn0LMCBQF+OF2F-lhCOv8Op6YQg5gvwSznA5Jyq5VDKUoq4PcCcQBQSvLBXwkoabDwbo-RCfdHIEgwBAZUeDyBDHIGAGosBiZ-ywVzCAcQ8i0KGJAUgZIQBoJ7qw+G29MG733ofB+59fb8IDlUYOih4G314cffhI8mb4OAYOba9lXoQLXNA3c8B4GXhgqqFB7D65nUwb3LmODSB4IIa9YhpDagUIMVQpwNDiLkHoYwWAzDdEcPXpw4efcMA4M8nzfRXiubiPvoJM+PchFX1EZBWw3gzzmIYFwZocdJHnwAbIkBCi5otXXmrJwAZSZnkUP4n2DsKI0xhpJGSKZzCsEOopHUepqnkAHHU1qbZ2oAEFGCMC2jnYaOZrJGS4CaXiMA6mAwKXUoqeY6ktRVkhZ8r51Zuw9sqL6VA0yCT4I3AcAByYJpBdkBJ7mEvOESRHqJvjwsgDIiFmHiHw1J0lAFyNAaMqAsy3Eb3XrsjpMBjxDN2T7TxftvG+MjMUk+2CnImPucQR5edoUEgRScyhF9A4XPgYkZotyhimGaBoXFigARRDAC2GxGD+EAAM6nkC-AAEmAC3RxCBSDNETJKKlHjgUUQdscma8lIyONIYwAchBJq7URQOaptShn+XXjU1wH88FQH5X7aAyrVLr2CppWAXVNVh11V1NV8MDpDIyZNM1gqvIgtrqwqcNMRCpUlKldptVLAyqgF0npcYVz6ibM071MMrrWz0JKjqSNYIYGmErLgrgTgxIFNiLmABiZkrIQWeu9VSVqSo6yMCkJGGgswX62F5ImiGIoQACCQICNAUoZQgHkIodUNY6wNgDRgRUBA1mqnVO1bUJVErRn7AmJMsAmmtjogADyzFwWK7rzR1N6ZLIekRLAdOPG28sjYjSUW6Dmc05BeKEkTH2JGLgGq7vMBgfpx4x76G+PRZdSkFHKQohq2i9FLAABERwtQwEk9Q8wMxlVtQyQ1oV5JfghD6VQ91Czy1g4me6BJLoTW1jgAQ-MaYyUkMM9QL773wBHE+pIny72DOtSMtGHy5Uk2BlMvqHTDauAHHwfDLgpmDQWS7bZe1mVqrebR2ZadH3PqGS1cDc1LUc0Mtagcc1HUSSnTJc0LHlpmyUjqmoAA1GoSt+x8Adn0tq7q+D0CYtlbwGnplDv-Tp2A+mXH7idshJZ-H4aWa4Gq2jk0coaYHN5v80kfRBZgA6tVMnJYBaYkFpicQpAKWOvocsksCrlgAITfyU8p0gkk82ZkLVwYtpbtAcArZOKtNaeg9AbbKFtyh6gyB7QkPtygkDpt9kMIYLdiEQAAF6XIAGwCEYNO+ZPW+uv2IEAhs8AIAEowsBNAY2JtHim0MoYM25tORgGYZoX4cAoHG86qkswy5myHvEPQIwFBSCVUuFaxDIwQHEGdkxayeCVV9ntgEbKjsnfWwhG76h+tDaO7cYHF0lEMEe+IBA0PeL4tIG3VLdLjyqkjB9kL6yfsHMsEBA5+jcffePXg0g8RfakMSWYPFgZlvHdOypz7CQyeWB8U5TyvtwFw6-Aj+ASPdRQETEdgQAgACkOOW6+2IFz9oj2BDzM8ItjQX4ldHlIdO+bqvlsa4QsDLgCPiBJC-KoaAUFSDzK+pTCGX4yEc56MekjLA26o5dNLoZqMJxjSHnL8cCujvK4W0tjOlmBybetdt2As3zA66WzxrX8e1cT3D5Hos0fY-J-UK1SSnsFJu5xjz2HRtLAC6RzURbqOMsY4jEWeZJagGtEQ1+FNXh4DzL+wdsPLF08F523HrvbKeMXa4FBVutZGBHfG0uKg0BLAputO9o8KvQ+p9771rbA-s88eF6L4C4upcs-z5GQvfZOfjj7EPXnpfy-zL36oMXkvPdR-bn2AnRPrmkBJ31t-UYP+8RSw064io4IDiCM5rYv5Fgc44RDzmitx8iixfiEh0TzLl7EJJgWDq737QD76FBp6b5R6rRDY8ar4p74Eb59bEHKya6WYgHq6WCrYz4CA-zzI37w6I5oGI5DAAg2DCSkAfxUCkpW5HjrA1hvauCb4qifiY715HiN7mDN5djvwL61Y9AN7Yjj5DDLQkoY4oDP7RQx5cCt4wBQBoEJDg6XJoBQ7W6C5g6V7NACGyEKQfZTrlr8iVo0A4ADBIBoDDZShiAgCmAWAih8ANbyh7ywCkIYCMLNY6AvjaDKAhBhCRCEBQCkAXAZAx7-AI6WZJSZDhD0DrD0DTrhCmCzAFCRGkLhACClADAVBVDhBVH0AxFmBxEEBqI0AuDuCIDSjhE0BjptCwAAACDA+gLg8RXAiRwQB8KR0QpAjAihf4WQgxUgwxmAtR9RqxdQsR3aIAnRygnAbQes9WTacoAxeoQxHaqYoxI4ExBACRNAyRdKkQXYixzQyx4Q2x1xxowxmxGAOAnIr06gXxlxUgPxLW+xsC8oRxEAJxkogRza8okw26fgAaJ6Ec7krAvYJWkoQAA
Custom hooks to search iTunes with a debounce functionhttps://flems.io/#0=N4Igxg9gdgzhA2BTEAucD4EMAONEBMQAaEGMAJw1QG0AGIgVgBYA2FgXRIDMBLJGGqCiYAtsjQA6ABYAXEfGLooMxMtQgAPPh4A3AAQ98AXgA6IShBlmAfBoD02ndZABfIkNHiQEgFYCSkMqqMup2AFQmUAAqUjwwBvGYeuSIIpgA1oh6EFx6sjK4KHZ2AK54UhAQ6TASkCKleAAiiABGECVQYIh2ei0AnnrUAOKYLVkASpgA5lhQ+OwAFPmFxTIA7jwyKuS1EPVTo4gA+uTTs-gAlJFhdpGBMDJ6wHobMlIAEpXVRHpliADKMkwKh+fwAolwuIgwDJQXhxohci49EY9CJNlJyHxPlUYJEeCJsBByI9nn9mm0Ol09MiuJQRHozBI7GAyjI9gBaCq4sz4wnE0l6PCYchgKQAQWwPBpejpe0Z3jsOB4vKgd2gDyFiBFYoAsjwoAAZVRTN4ovQAZnVsEe+Fa7U6iF18VRDFotGtmsQAA9RNgkP9taKpIgXYMzAAhbUyfhmH5mADSiHgeAGhpKcYVUfIMBFBr0AEUSiKVFtM2YAGqYKCh3N6ADq0xr5DM7E9jx9fqQhoN6XN2wZRmskT0aIWZkwcZHo6e05neRSXBQCoAxFOoPPR9AwPAeGB0suskPZxvN6P7h2kGJlOb8BBWdeZBIAI4lRDkPqBpAw4njkAr4VgzMK5TzPZNUmCCQdEweA337d8RDnTdwMfCRtBgbBgTFMEdGCBYazWPQcLwswxWrKZEGAkCzxcJC3CQgdpxA9s9E7Qlu17MMBxdawT3PDVHl3TVUW4iQ0mwBY2P9RAeygdJqOSRAZBKcgN2odhdk6YEFgkXShKfcTJJRXjqHLYhWPYC4LgkGBdy6BYAEYQNo08WMDHUpHNBYLmMvi9GKPRAWBLJq3wLUtnfeIuGJPRdIkacAvc4M9EY08L0GQCxSiBCfjwGQkqyhD2HNP4gpUP9gISnpxQABQASS1DzFJgEp4BkPE0oEwYUhatqYFypSEV69ritRUqgXK9SFMSoMxQNKYhQmso9AWNYQzed8UpDFIEj0bBVG0KAFtqhqUlfUMZAU9LqDiArYiOgaZDqmA7vm0bfjwMrEAWLgYLwaaegpB1qUyzyByFCAtuBAxHmgeABimXRQw+vQsBUTVoNgrI4qq2LdIMXJQey8gGSkTB4igSxekQVRfmwfBgrC157tR8nHjdWgRA60cAvFRJmtax4Nr0E69DAGD4CFCpWrCuGBl4HbtyyP5yEWiBcBSvopSO6d0rtSlHXwO7icHD7ECBqlvqJnK9H14GnRgK6uqwB4wSCFIwrG+FEXw1r4AU6dwUhaEZHHUCVp849gCQ0ceFyBY7cto3ZqkE29AAMnT237ST42EIkJAjrNXjQf1I0TTeHzo-D+c8ue16joWGRyDfBSzyQR5KcI1EXZkN3tgIWoVJSG9UUaYKJC77z-J6NJMiFFSsjeaG1mVvAtqyXvWPdggUoQmOZ1ByUeATnPDbzknrI2qAFh6wWeL8s9Y-jruUSMHu2f799B9ZcgR8ux+T9Rx1xeineaP0-qIDbkA8KQ17631DPfCQd8+rQJogfUcLg0EymTOvauQC8pwL6gsKaB8XLznouHagidz4pxNsVAKAB5KA8MxYS1YsHGEBNs4Gy6GFUGe8SZizJkdUMTFpzThSMpVSY4mQ4GwOuecpka6yJAI4csKjRwiD-AabAJQnyg0UTA-BMDY74GXGYQxxAMGbn9JgLoFR4B2nIBYkAd0DBRA6GI6xmjNzQF0fow8vk8oX20YgCQQJyAUSfJjVuRAbHzm3CIiiQTjwhLoQhSSESRTRKgjBOJCSaQ2OwRceJKjtFMgNNFTMyigEVO8FJWM5lakwLMFED8riymmNHI0mSnFJK+nYgCFOoZsGjksl0p+9SbJLTxOZW6YCda+NHAAfgVA3BaOMQCFOXAAAyIe1ZcAASYAKD2oFwrlIFwuzikHwmQfM5NRC6mikDYtZ0zHlGKAY8sSOAEHDWMoUrRf5kGILajUoFM56kEimJmZ4MBRTLjORIEsaxiTpAAKrkHgA5d0NJSmQuBUyBmQIIXLKmSC5u9j0gcmEGITMyKqX7gAHKeAJeSs80ySxxBkLSzwDKwVPm5Q8VlYh2XdM3NM7AKQdA8EQGsDRErOV-kwCUbQEAvlKvnCYrVZ4EVgCRYKiQ0rECyvlVi+AkzdWbhkFrRArjVXqrsN6DkIgmCTh8das8gRm4IBgMuZub4rVetHKq9kdi+jLl+imRAwbrWUJDUStRugzIAE12iqxaJQNYeBVZ3lDFAAA5I8Fq2AiQkj0I6ngkMgRTDmWM7pDagFNs3JZSFllRyFIbQ25cUA-ZITbKeHyjIoAuXSjiTIycmqomZhOmACw7rMU6F1SU2BzQmLNWsZc08hxIW0ROggi7IguUiCIMSDpQ7TjvA+SC50PxfhDr+MwK4LBWBAOKkWZbIggUUHgb8Mhq2wHUAAThQAADgYK4dwIA6VeGVL4fwSgVBqDQOEfEniazxHcSdSIyx-XFEwJCPgPAJ6bC8TUeRSBdj1B6hmroMAHD3hKI+YEgG7BkcwxyB4xJEAclXi0Lj75ZVdEEx5DkypbhQBuJEH05bHjpSPlKeCQio6SKUipDcUIZBijDvOXZeGijseUphlFZaqN1DsKDFZA4jAnIHC4dOYhtCYCMCIMoe5dnBp1VCpSFRzEKiGGCKIqoKFMQiSGG+qtjw7D8NAbyzlIiKDqFKJA5B1AtEOAoEgf6Q6AYEGgXFKAABMFooMeDEOoVk3GRBci+DUPwSXoDIZCGgdKZJPoTVjWbCEUIuHIlROiN4WJ4BzsiDJ70cmxZdXJGfakqIFixK63aLAfRI68RMYlTrla5jhW2FFGKNC+F6EW7rLq1DZsECrFjR6FtDZXbfO9cawUFv5KgWN08QdeuXvDju9bB8AoYvpsFHh9swqLcrVwbY2cVsH3SiI-AqXzR5SiASRA7RQ6-cAbXJSt2+H3e+ot7BbhoeYFW+9s8AUADC1YuiS2FgBsQ6PuHg7IqI+ICw-qQ2gCTgYrOKLZFVh0EQF7sEBRiHEXaFRCKrz2jK4IIOk7Hde7KekdMSXzWZ8riXfPd44xUQFfGzN8zC2W6Tva75q34AkHoFHjP9F6GifEHcQZd6hWapElQVuHnqZkZj7z85ncilt2j-RSxQqpaJ3RYN1BFs-FN30BhPRmGsJSBycW8BJaIi+5rrGAuefCPImIod5PFLSI3Idy7r3j2NcJHwd86XMu-vAjCPL6haAoCYEwMrMHPDqFqDARDPrgjpYgPgAYJi0hRINMuWgABuac0VlAcl+uieGy5cywEE1iLg8-R3vbCH5NoLqYA8AAF7zWXG0cgziORH93y5TAPxMAoFlSfz3fkVDel5XaSApwAPQF7WgEQF334ngGJGXBXCKwcmAxYAADELR79IhTM10TFMJ8BDophlwitaBsBvRECoAbIU4-INh8A3hlxcVaAABSEA2UJrLjM-e1PQIrFIEQGgtAjAmfCQBgVIGgq-G-U4bQMoZcFgXA3g4kZxcg3AiGXcMKFcMAeQ-AwgjyFAaKKrPidHXcGsQAmsRQ0GFAFAPjVodITYDkAJXlOxBxBAZxJ4fyA-SnTEPYboRhfaU4Owf4QjPMPQaTU8RfXlB4PoJAZcTYGCPcGgyAMAlxPQFcTAGI-ApAh4YEMoH4CQXpeIExXw+g0-RghyJgUQ07CIiA4DIoxQqpSGCfHJafPQByBgKQ2gPQOoufY9eI2ZPySfRGKAZcJgHA70eo3oxovfNUAgx5Voiojoqomonoho+osQ6-d8W-SwdkEQSQnouAGQqImmYApooYwVPydCCNKNJAPA6cdgi-Ko7o6Y6cPguY8NZY6QwwdYmmGgjIk-LI8gsDPIgY0cUFAFGFQBEgsgs47omg0cEMHgKYWQcg90D4zBacb4wWWKElJIbzNog0DkJASHSE6EopU8OEtqWKJlGlWDJ4chWKM5WKYVXlIk7zZ4hg8g3Io48OcI8AqIoo4DGgkk3Ex4Y1GVOVQiZE0YjkG4s4rEjksk7k01XkytNVatQBUE8EmQTooE6cFwJvf9VvArUDByMDVwTgEATQ6oQQHvCrNAQbTEPgAAATRgukUBUgUDQAM2KA6GwHSCmGozsFNOG3NKKwkFoAkCYHdIxGGzEgNAQ0UFtX2nUDICxGwBCDcHKy8A9L4Fq1xEtOCgeBtOxXUAdNKCgGdNdIs0TPgGTOqHNN9KYAkAcgcB5QDKGyTO5ANJIHDK8CjJ4BjJ1JIFg3UAxRPyOm604XaheAxErQV0dFlCpH-ygFcCAA
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#usage
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#example
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#hooks-and-application-logic
Custom hookshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks#custom-hooks
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#rendering-rules
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#with-usestate
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#with-other-hooks
viewhttps://mithril.js.org/index.html#components
oncreatehttps://mithril.js.org/lifecycle-methods.html#oncreate
onupdatehttps://mithril.js.org/lifecycle-methods.html#onupdate
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#cleaning-up
onremovehttps://mithril.js.org/lifecycle-methods.html#onremove
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#api
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#withhooks
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#default-hooks
React Hooks documentationhttps://reactjs.org/docs/hooks-intro.html
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#usestate
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#useeffect
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#uselayouteffect
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#usereducer
React docshttps://reactjs.org/docs/hooks-reference.html#usereducer
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#useref
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#usememo
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#usecallback
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#omitted-hooks
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#custom-hooks
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#children
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#compatibility
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#size
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#supported-browsers
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#history
Barney Carrollhttps://twitter.com/barneycarroll/status/1059865107679928320
Isiah Meadowshttps://github.com/isiahmeadows
https://patch-diff.githubusercontent.com/grpse/mithril-hooks#license
Readme https://patch-diff.githubusercontent.com/grpse/mithril-hooks#readme-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/grpse/mithril-hooks
Activityhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/activity
0 starshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/stargazers
0 watchinghttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/watchers
1 forkhttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fgrpse%2Fmithril-hooks&report=grpse+%28user%29
Releaseshttps://patch-diff.githubusercontent.com/grpse/mithril-hooks/releases
9 tags https://patch-diff.githubusercontent.com/grpse/mithril-hooks/tags
Packages 0https://patch-diff.githubusercontent.com/users/grpse/packages?repo_name=mithril-hooks
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.