@ffsm/native-ui
Version:
UI Components for React Native
31 lines (30 loc) • 1.24 kB
JavaScript
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
import { Children, Fragment, useMemo, } from 'react';
import { Text } from 'react-native';
export function AsText(props) {
const { children, parent: Comp = Fragment, parentProps = {} } = props, rest = __rest(props, ["children", "parent", "parentProps"]);
const arrChildren = useMemo(() => Children.toArray(children), [children]);
const ParentComp = Comp;
return (<ParentComp {...parentProps}>
{arrChildren.map((child, index) => {
if (['string', 'number'].includes(typeof child)) {
return (<Text key={index} {...rest}>
{child}
</Text>);
}
return (<Fragment key={index}>
{child}
</Fragment>);
})}
</ParentComp>);
}