React Native - NSString 类型的值无法转换为 ABI44_0_0YGValue

Roy*_*yal 8 css react-native

在开发 React Native 项目时,我偶然发现了这个错误:

NSString 类型的“90vh”的 JSON 值无法转换为 ABI44_0_0YGValue。您忘记了 % 或 pt 后缀吗?

ABI44_0_0YGValue 是什么意思?我已经尝试过 pt 后缀,但仍然出现相同的错误。可能是什么问题呢?

我正在使用样式组件将宽度和高度值添加到不同的元素:

import styled from 'styled-components/native';  

const MainWrapper = styled.View`
height: 90vh;
width: ${(Dimensions. get('screen'). width)}px;  
justify-content: center; 
align-items: center; 
background-color: red; 

`

const ScreenTime = ( { navigation } ) => {
  return (
    <MainWrapper>
      <Header>
          <Paragraph>Screen Time</Paragraph>  
      </Header>
    </MainWrapper>
  );
};

Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激!

小智 7

React Native 中的所有维度都是无单位的,并且表示与密度无关的像素。

换句话说,抛出错误是因为 React Native 正在寻找数字类型,而不是字符串。与网络 CSS 不同,“vh”和“px”后缀在这里没有意义。

尝试:

height: 90,
width: Dimensions.get('window').width,
Run Code Online (Sandbox Code Playgroud)