Comments (2)
I generally design components for packages/visual-stack
to not do any state management, because I don't want to have to think about inconsistency between the state the component's user expects and the internal state of the component.
Perhaps we could create a second package like visual-stack-redux
that provides versions of visual-stack components that handle this sort of state using local state?
from visual-stack.
100% disagree. If a component has a visual behavior, it should be encapsulated. If that requires the component to have mutable state, then the responsibility for managing it is with the component. This is the essence of encapsulation. Forcing a component user to add additional dependencies and code just to get a component to work is a cognitive load that simply doesn't scale.
A component user should be able to drop the component in place and not have to care about how it works. If a user is going try and impose their own state changes on that component, that user is breaking encapsulation so buyer beware. They should probably wrap the component instead. If a component allows a user to change its state, it must expose that through a well-documented, cohesive interface, not allow a user to directly modify the state based on inappropriate knowledge of the internals.
from visual-stack.
Related Issues (20)
- Button is clickable even when outside of clickable area HOT 1
- Remove bootstrap dependencies
- <pre> element disables collapsing grid for mobile
- New Application Layout
- CSS color variables
- WCAG 2.1 Components
- Make sidenav bar mobile responsive
- Add Card Component to VS HOT 1
- Specify a standard set of props that all components support HOT 1
- Un-pin Node Version HOT 1
- SideNav submenu links hidden due to container max-height HOT 1
- SideNav menu links need classes on click
- SideNav Logo URL
- Required prop in ListView is `undefined`
- Required prop in InternalTabLayout is `undefined`
- Required prop in PaginationPure is `undefined`
- Empty State Illustration
- TriStateCheckbox changes from indeterminate to clicked when clicked on even if value and checked are both set to -1
- Link to documentation in GitHub Repository
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from visual-stack.