Good question! The challenge when building components which is how to specify/guarantee that components are used as intended. Since components can have innumerable
inputs/props, it’s hard to determine which combination of values yields the intended look and feel of the component.
We use a component explorer (mentioned in the article) to solve this problem. Aside from helping index and collect all the components in an app, it’s great for documenting the intended states of a component. This is done by writing a specification, which essentially passes in a “mock/dummy”
inputs that simulate what the component would encounter in the real app. Once you’ve created a specification or two, it’s quite easy to for other devs to see how the component is used.
You can read more about the finer points of our process here: