MCPcopy
hub / github.com/Shopify/restyle / createRestyleComponent

Function createRestyleComponent

src/createRestyleComponent.tsx:8–28  ·  view source on GitHub ↗
(
  restyleFunctions: (
    | RestyleFunctionContainer<Props, Theme>
    | RestyleFunctionContainer<Props, Theme>[]
  )[],
  BaseComponent: React.ComponentType<any> = View,
)

Source from the content-addressed store, hash-verified

6import useRestyle from './hooks/useRestyle';
7
8const createRestyleComponent = <
9 Props extends {[key: string]: any},
10 Theme extends BaseTheme,
11>(
12 restyleFunctions: (
13 | RestyleFunctionContainer<Props, Theme>
14 | RestyleFunctionContainer<Props, Theme>[]
15 )[],
16 BaseComponent: React.ComponentType<any> = View,
17) => {
18 const composedRestyleFunction = composeRestyleFunctions(restyleFunctions);
19
20 const RestyleComponent = React.forwardRef((props: Props, ref) => {
21 const passedProps = useRestyle(composedRestyleFunction, props);
22 return <BaseComponent ref={ref} {...passedProps} />;
23 });
24 type RestyleComponentType = typeof RestyleComponent;
25 return RestyleComponent as RestyleComponentType & {
26 defaultProps?: Partial<React.ComponentProps<RestyleComponentType>>;
27 };
28};
29
30export default createRestyleComponent;

Callers 4

App.tsxFile · 0.85
createTextFunction · 0.85
createBoxFunction · 0.85

Calls 2

composeRestyleFunctionsFunction · 0.85
useRestyleFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…