npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

selector-provider

v1.0.0-dev4

Published

O componente **Selector para React Context** foi desenvolvido para adicionar funcionalidade de seleção ao contexto do React, semelhante ao Redux Selector. Este componente aprimora a eficiência e modularidade ao trabalhar com estados globais no React.

Downloads

331

Readme

Selector para React Context

O componente Selector para React Context foi desenvolvido para adicionar funcionalidade de seleção ao contexto do React, semelhante ao Redux Selector. Este componente aprimora a eficiência e modularidade ao trabalhar com estados globais no React.

Características Técnicas

  • Isolamento de Seleção: Permite a seleção de partes específicas do estado armazenado no Context, evitando re-renderizações desnecessárias e melhorando o desempenho da aplicação.
  • Memorização (Memoization): Utiliza técnicas de memorização para garantir que as seleções sejam recalculadas apenas quando o estado relevante muda, otimizando o uso de recursos.
  • Integração Simples: Fácil de integrar com o React Context existente, sem necessidade de reestruturar o código atual.
  • API Intuitiva: Oferece uma API simples e intuitiva, facilitando a adoção e uso por desenvolvedores familiarizados com React e Redux.
  • Reutilizabilidade: Promove a reutilização de lógica de seleção em diferentes partes da aplicação, mantendo o código DRY (Don't Repeat Yourself).

Instalação

Para instalar o componente, você pode usar npm ou yarn:

npm install selector-provider

ou

yarn add selector-provider

Uso

Aqui está um exemplo básico de como utilizar o Selector com React Context:

import { createContextSelector, useContextSelector } from "selector-provider";

export const useSelector = (callback) => useContextSelector(Selector, callback);

// Contexto comum do React
export const Context = React.createContext({});

// Seletor é utilizado como um wrapper sobre o Contexto do React
export const Selector = createContextSelector(Context);

// Utilização natural
export const useContext = () => React.useContext(Context);

export const useCustomSelector = () => {
  // Usa-se o Selector ao invés de Context aqui
  return useContextSelector(Selector, (state) => state.service);
};

// Divirta-se!!

Benefícios

  • Desempenho: Melhora o desempenho ao minimizar re-renderizações desnecessárias.
  • Modularidade: Facilita a manutenção e escalabilidade do código ao isolar a lógica de seleção.
  • Produtividade: Acelera o desenvolvimento com uma API fácil de usar e integração direta com React Context.

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests para melhorias ou correções.