javascript - 更新类型阴影节点中的属性“顶部”时出错: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 和其他网站,但找不到解决问题的方法。
提前谢谢大家:)