Browse Source

"Don't Mutate the Original Component" example and description mismatch (#8695)

main
Piotr Czajkowski 8 years ago
committed by Dan Abramov
parent
commit
095b1ec6f7
  1. 2
      docs/higher-order-components.md

2
docs/higher-order-components.md

@ -188,7 +188,7 @@ function logProps(InputComponent) {
const EnhancedComponent = logProps(InputComponent); const EnhancedComponent = logProps(InputComponent);
``` ```
There are a few problems with this. One is that the input component cannot be reused separately from the enhanced component. More crucially, if you apply another HOC to `EnhancedComponent` that *also* mutates `shouldComponentUpdate`, the first HOC's functionality will be overridden! This HOC also won't work with function components, which do not have lifecycle methods. There are a few problems with this. One is that the input component cannot be reused separately from the enhanced component. More crucially, if you apply another HOC to `EnhancedComponent` that *also* mutates `componentWillReceiveProps`, the first HOC's functionality will be overridden! This HOC also won't work with function components, which do not have lifecycle methods.
Mutating HOCs are a leaky abstraction—the consumer must know how they are implemented in order to avoid conflicts with other HOCs. Mutating HOCs are a leaky abstraction—the consumer must know how they are implemented in order to avoid conflicts with other HOCs.

Loading…
Cancel
Save