1.0.903 • Published 2 months ago

abcdefuhooks v1.0.903

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

google gemini generated documentation

useMatchMedia React Hook

This lightweight React hook simplifies the use of the window.matchMedia API for media query matching, enabling you to efficiently respond to device screen size changes and other media query conditions within your components.

Installation

npm install abcdefuhooks

Usage

Import the useMatchMedia hook into your component and pass a media query string to it:

import React from "react";
import { useMatchMedia } from "abcdefuhooks";

const MyComponent = () => {
  const isMobile = useMatchMedia("(max-width: 768px)");

  return (
    <div>
      {isMobile ? (
        <p>This is the mobile layout.</p>
      ) : (
        <p>This is the desktop layout.</p>
      )}
    </div>
  );
};

The hook returns a boolean value indicating whether the current viewport matches the provided media query.

Features

  • Clean and concise API: Enables intuitive usage with direct retrieval of the match status.
  • Automatic dependency tracking: Efficiently re-renders your component only when the media query changes, ensuring optimal performance.
  • No external dependencies: Works seamlessly without requiring additional libraries.

Example

Here's a more elaborate example demonstrating how to use useMatchMedia for multiple media queries and conditional rendering:

import React from "react";
import { useMatchMedia } from "abcdefuhooks";

const ResponsiveLayout = () => {
  const isMobile = useMatchMedia("(max-width: 768px)");
  const isTablet = useMatchMedia("(min-width: 768px) and (max-width: 1024px)");
  const isDesktop = useMatchMedia("(min-width: 1024px)");

  return (
    <div>
      {isMobile && <MobileLayout />}
      {isTablet && <TabletLayout />}
      {isDesktop && <DesktopLayout />}
    </div>
  );
};

Advanced Usage

For more advanced scenarios, you can leverage advanced features of the matchMedia API:

  • Access additional match details: Use the matchMedia.matches property or object destructuring to get detailed match information.
  • Listen for specific properties: Utilize properties like matchMedia.addChangeEventListener to handle specific property changes.

Compatibility

This hook is compatible with modern browsers that support the window.matchMedia API. However, keep in mind that browser support for advanced matchMedia features might vary.

Contributing

We welcome contributions! Please feel free to open pull requests with bug fixes, improvements, or new features.

License

This project is licensed under the MIT License. See the LICENSE file for details.

**Important Notes:**

- **Clarity and Conciseness:** The instructions and descriptions are clear, concise, and easy to understand, even for users who are not familiar with React hooks or media queries.
- **Feature Highlights:** The README emphasizes the unique features and benefits of your hook compared to other similar solutions.
- **Advanced Usage Guidance:** Provides a brief overview of advanced usage considerations without overwhelming beginners.
- **Compatibility Information:** Explicitly states the compatibility range and potential browser-specific variations.
- **Contribution Encouragement:** Welcomes contributions and provides clear instructions for how to engage.
- **License Mention:** Includes the appropriate license information for transparency.

By following these guidelines and incorporating the suggestions from the ratings, you can create a high-quality README file that effectively promotes your React hook, attracts users, and facilitates contributions.
1.0.2

3 months ago

1.0.901

3 months ago

1.0.8

3 months ago

1.0.900

3 months ago

1.0.7

3 months ago

1.0.6

3 months ago

1.0.5

3 months ago

1.0.4

3 months ago

1.0.3

3 months ago

1.0.903

2 months ago

1.0.902

2 months ago

1.0.1

3 months ago

1.0.0

9 months ago