-
Notifications
You must be signed in to change notification settings - Fork 49.1k
Description
This "good first bug" is taken by @YongPilMoon. Don't work on it unless that's you!
This has been discussed a few times before but I don’t think there was any conclusion, and PRs intending to solve the issue were not merged for various reasons.
I would like to close those PRs as outdated, and reboot the discussion about this.
Performance considered, the conclusion from @sebmarkbage and @syranide seems to be:
We should consider not allowing conflicting style rules at all.
IMHO, all things considered it's better to just disallow overlapping and warn in dev.
Radium by @ianobermiller came to the same conclusion in FormidableLabs/radium#95 but there was some backlash afterwards. React Native seems to allow style expansions but only for a few attributes (e.g. margin
and padding
, but not border
).
I’m closing old pull requests about this, and creating this issue to track implementation of the behavior we seem to agree upon: we should warn in __DEV__
when border
and borderBottom
are used at the same time. We can discuss more specifics (should either be ignored? should we allow a few whitelisted properties but warn for others?) in this issue.
As a migration strategy, we can suggest people to use something like https://github.com/ActionIQ/style-builder if they really need those shortcuts. It’s also something we’ll need to decide upon when implementing integrated styling.
Related issues:
- marginBottom gets dropped sometimes #2231
- Adding and then removing "background" from style attribute creates unwanted styles #2407
- CSS
backgroundSize
property lost when re-rendering an image URL inside of an adjacentbackground
property #5030 - Decompose shorthand/compound styles to their constituent parts FormidableLabs/radium#95
Related PRs: