UNPKG

react-native-filament

Version:

A real-time physically based 3D rendering engine for React Native

33 lines (32 loc) 1.36 kB
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import React, { useCallback } from 'react'; import { RenderCallbackContext } from './RenderCallbackContext'; import { FilamentView } from './FilamentView'; import { StyleSheet } from 'react-native'; export function FilamentViewWithRenderCallbacks({ children, renderCallback: renderCallbackProp, ...forwardProps }) { const renderCallbacks = RenderCallbackContext.useRenderCallbacks(); const renderCallback = useCallback(frameInfo => { 'worklet'; renderCallbackProp === null || renderCallbackProp === void 0 || renderCallbackProp(frameInfo); renderCallbacks.value.forEach(({ callback }) => { callback(frameInfo); }); }, [renderCallbackProp, renderCallbacks]); return /*#__PURE__*/React.createElement(FilamentView, _extends({ renderCallback: renderCallback }, forwardProps, { style: [styles.container, forwardProps.style] }), children); } const styles = StyleSheet.create({ container: { flex: 1 } }); //# sourceMappingURL=FilamentViewWithRenderCallbacks.js.map