
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
@clds/compound-components
Advanced tools
Documentation of the Cloudinary Compound components architecture implementation details.
Here you can learn about architecture for compound components which is used primarily by list-based components.
Compound components is a pattern when one parent component composes other components in a subtree and establishes communication between them.
Many existing solutions require passing exact array of children as parent children prop so list has access to children props and doesn't need to communicate with components after they are mounted. This kind of composition highly couples children to theirs parent. It is very limited as finally rendered items should have the same structure as defined in children prop. You can't wrap fragment of list items inside reusable component or you cant wrap items by other dom elements such as div. Also you can't use routing mechanism as it changes the rendered structure which becomes different than specified in parent.children prop.
Low coupling means here that children components can be structured in any way that React allows: list items can be wrapped inside other reusable components, routes and they should communicate well regardless how they are nested inside parent component.
Low coupling also means that when implementing particular UI component such as list, dropdown menu, select field, inline menu etc, you can freely reuse various small specialized modules (components, hooks) without a need of refactoring any of them because they have pretty defined small responsibility and they are designed to work together following react unidirectional data flow pattern. This means that you can use hooks for parent component and for children component that you actually need. They only things they communicate is React context.
Primary goal of this architecture is to provide high reuse and extendability of simple components and hooks without a need to limit power of component architecture. We can say this approach promotes Composition over configuration.
This library follows Semantic Versioning.
See LICENSE
FAQs
---
We found that @clds/compound-components demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.