Estoy tratando de pasar el parámetro de ancho a StyleSheet de esta manera:
<View style={styles.children(width)}>{children}</View>Y utilízalo así:
const styles = StyleSheet.create({ modalContent: { flex: 1, justifyContent: 'center', margin: '5%', }, modalOverlay: { position: 'absolute', top: 0, bottom: 0, left: 0, right: 0, backgroundColor: 'rgba(0,0,0,0.5)', }, children: (width: any) => ({ width: width, backgroundColor: 'white', position: 'absolute', bottom: 0, borderTopRightRadius: 40, borderTopLeftRadius: 40, paddingVertical: 30, paddingHorizontal: 20, }), }); , Pero mecanografiado arroja un error This expression is not callable. No constituent of type 'ViewStyle | TextStyle | ImageStyle' is callable.
¿Cómo puedo resolver este problema mecanografiado?
Si desea pasar accesorios a la hoja de estilo, debe hacer algo como esto
O
puede usar creando una función que devuelve ViewStyle
import * as React from "react" import {View,ViewStyle,StyleSheet} from "react-native" const App = () => { return (<View style={Container(width)}></View>) }) const Container = (width: number | string): ViewStyle => ({ width: width, height: '50%', backgroundColor: 'white', position: 'absolute', bottom: 0, borderTopRightRadius: 40, borderTopLeftRadius: 40, paddingTop: 10, paddingHorizontal: 20, })