use-context-selector
Tailwind CSS
use-context-selector | Tailwind CSS | |
---|---|---|
27 | 1,281 | |
2,473 | 78,568 | |
- | 1.2% | |
6.5 | 9.4 | |
10 days ago | 5 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
use-context-selector
-
Having too many contexts - is it a problem?
Use jotai, or as someone else mentioned, zustand. React Context out of the box requires a very deliberate mental model due to a lack of tooling around selecting slices of state. This is why packages like react-context-selector exist: https://github.com/dai-shi/use-context-selector
-
Truly the best time to be a cs student
Unless I've missed it, context doesn't have selector IIRC. You'd have to use a third party solution useContextSelector
-
use-next-context: Performance-optimized React Context API.
How does this differ from https://github.com/dai-shi/use-context-selector?
-
Tips for managing and organizing complex state with React context
you can always split out context state or use a library to help with rerender issues like https://github.com/dai-shi/use-context-selector, or just switch to jotai or something else if you want something more ergonomic or better design patterns.
-
ReactJs - Useless re-renders when a context changes - HOW TO SOLVE IT ?
If you don't want to swap out useContext, you could always use useContextSelector, which helps you limit what props in the context should rerender the component.
-
React I Love You, But You're Bringing Me Down
I wouldn't call this easy
-
is Redux the first state management library you'll advise beginners to learn these days?
It wouldn't be clear to anyone learning Context API either. At least, not using official docs. Because Context API is not supposed for state management, and if you for some unknown reasons try to roll your own state management on top of it, you have to use tricky libraries to work around the issues resulting from such abuse.
-
What are some React Tricks/Tips for React Devs?
Any time anything in the context changes, any component that is consuming it will re-render. If you use it for frequently changed values, this library is needed to reduce unnecessary re-renders.
-
Surprising Performance Lessons from React Microfrontends in Production
Use of this implementation of useContextSelector
-
Inflist, an experiment using PureScript and React
Another technology I use regularly is Redux. But this time I wanted to manage the global state in a simpler and clearer way just using React hooks. I decided to go with a simple useReducer combined with theuseContextSelector hook which will avoid the whole application’s re-render caused by the native useContext hook.
Tailwind CSS
-
How to Build Your Own ChatGPT Clone Using React & AWS Bedrock
Finally, for our front end, we’re going to be pairing Next.js with the great combination of TailwindCSS and shadcn/ui so we can focus on building the functionality of the app and let them handle making it look awesome!
-
Building an Email Assistant Application with Burr
You can use any frontend framework you want — react-based tooling, however, has a natural advantage as it models everything as a function of state, which can map 1:1 with the concept in Burr. In the demo app we use react, react-query, and tailwind, but we’ll be skipping over this largely (it is not central to the purpose of the post).
-
Shared Data-Layer Setup For Micro Frontend Application with Nx Workspace
Tailwind CSS: A utility-first CSS framework for rapidly building custom designs.
-
Preline UI + Gowebly CLI = ❤️
First, you need to make sure that you have a working Tailwind CSS project…
-
Customer service pages for e-commerce built with Tailwind CSS
Tailwind CSS
-
The best testing strategies for frontends
With better CSS approaches like TailwindCSS and Vanilla Extract (which we're heavily using) it's much easier to maintain the UI and make sure it doesn't change unexpectedly. No more conflicting CSS classes, much less CSS specificity issues and much less CSS code in general.
-
ChatCrafters - Chat with AI powered personas
This app was built with Svelte Kit, Tailwind CSS, and many other technologies. For a full rundown, please visit the GitHub repository
-
Mojo CSS vs. Tailwind: Choosing the best CSS framework
Unlike Tailwind, which has over 77,000 stars on GitHub, Mojo CSS has about 200 stars on GitHub. But the Mojo CSS documentation is fairly good and you can find most of the information you’ll need there.
-
Collab Lab #66 Recap
JavaScript React Flowbite Tailwind Firebase - Auth, Database, and Hosting Vite
-
Show HN: Brutalisthackernews.com – A HN reader inspired by brutalist web design
- Performance is a feature.
Another common interpretation of brutalism is aesthetic, reacting to overly complicated user interfaces by creating simpler, more direct ones. Tailwind CSS (https://tailwindcss.com), one of today's most popular CSS libraries, promotes this approach in its component examples. There's also a neat library I've seen recently called "Neobrutalism Components" for React that I like (https://neobrutalism-components.vercel.app), providing components with a similar look and feel to Gumroad. This might more accurately be called 'Neo-Brutalism,' as noted in the comments.
A more engineering-centric interpretation of Brutalism focuses on form, structure, and efficiency, drawing significantly from brutalist architecture principles. Apart from the user interface itself, most mobile, desktop, and web applications are extremely bloated and often perform worse than sites from 10 years ago did. While one HTML file might be "less brutalist" than the original HN site, it is substantially more brutalist than any HN mobile app in existence, and offers nearly identical functionality.
A broader interpretation of brutalism, which could be termed 'Meta-Brutalism,' is embodied in the overall experience on this site through UX flows. Yes, in the strictest sense, the original HN site is more Brutalist in many ways, but it only shows 30 articles at a time and does not function as a PWA. For this site, the experience of reading 10 stories is arguably less brutalist, but for quickly browsing through several pages and skimming articles (which is how I read HN) it is a lot faster, and in my opinion, more Brutalist.
My primary inspiration was addressing software and tool bloat in UIs rather than strictly adhering to every principle set forth by David Bryant Copeland. I don't find it convincing that this site "isn't brutalist" compared to really any other experience apart from the Main HN site, and I would argue the overall experience is more brutalist in its performance and scrolling behavior.
As a side note: I generally don't like Brutalist architecture that much although I believe it is unfairly maligned. I visited the Salk Institute once and enjoyed it though (https://www.archdaily.com/61288/ad-classics-salk-institute-l...).
What are some alternatives?
zustand - 🐻 Bear necessities for state management in React
flowbite - Open-source UI component library and front-end development framework based on Tailwind CSS
reselect - Selector library for Redux
antd - An enterprise-class UI design language and React UI library
Next.js - The React Framework
unocss - The instant on-demand atomic CSS engine.
react-tracked - State usage tracking with Proxies. Optimize re-renders for useState/useReducer, React Redux, Zustand and others.
windicss - Next generation utility-first CSS framework.
formik - Build forms in React, without the tears 😭 [Moved to: https://github.com/jaredpalmer/formik]
emotion - 👩🎤 CSS-in-JS library designed for high performance style composition
why-did-you-render - why-did-you-render by Welldone Software monkey patches React to notify you about potentially avoidable re-renders. (Works with React Native as well.)
Material UI - Ready-to-use foundational React components, free forever. It includes Material UI, which implements Google's Material Design.