首页 > 解决方案 > 更新类型阴影节点中的属性“顶部”时出错:RCTView

问题描述

我是 React Native 的新手,在学习本教程时遇到了一个奇怪的错误。我正在构建一个通过道具接收位置和大小的间隔组件,它似乎在 iOS 模拟器上运行良好,但它在我的 android 设备上崩溃,而且它发生得太快,我几乎看不到错误消息,因为我的世博会客户端立即崩溃。

现在,我不确定这是我的代码中的问题还是与世博客户端有关。

错误消息是:在类型的影子节点中更新属性“顶部”时出错:RCTView

它发生在周围

<Spacer position="left" size="large">
  {isOpenNow && <SvgXml xml={open} width={20} height={20} />}
</Spacer>
<Spacer position="left" size="large">
  <Image style={{ width: 15, height: 15 }} source={{ uri: icon }} />
</Spacer>

我的 Spacer 组件看起来像

import styled from 'styled-components/native';
import { View } from 'react-native';
const sizeVariant = {
  small: 1,
  medium: 2,
  large: 3,
};

const positionVariant = {
  top: 'marginTop',
  left: 'marginLeft',
  right: 'marginRight',
  bottom: 'marginBottom',
};

const getVariant = (position, size, theme) => {
  const sizeIndex = sizeVariant[size];
  const property = positionVariant[position];
  const value = theme.space[sizeIndex];

  return `${property}:${value}`;
};

const Spacer = styled(View)`
  ${({ position, size, theme }) => getVariant(position, size, theme)}
`;

Spacer.defaultProps = {
  position: 'top',
  size: 'small',
};

export default Spacer;

我搜索了 StackOverflow 和其他网站,但找不到解决问题的方法。

提前谢谢大家:)

标签: javascriptandroidreactjsreact-nativemobile

解决方案


推荐阅读