React Native和Web版组件样式不一致如何解决?
在做跨端项目时遇到了样式问题,React Native和Web版的按钮组件看起来完全不一样。我在组件里用了内联样式和Tailwind类名混合写法,但移动端显示文字挤在一起,网页端又正常:
function CrossButton() {
const style = { padding: 12, borderRadius: 8 };
return (
<button className="bg-blue-500 text-white" style={style}>
点击我
</button>
);
}
试过把样式全转成CSS变量,但React Native不识别CSS变量。也尝试用 styled-components,结果移动端字体大小还是不对。是不是跨端样式就不能统一管理?有没有什么最佳实践能避免这种差异?
react-native-web统一处理样式,配合styled-components或StyleSheet写一套逻辑判断。Platform 来区分,字体和间距单独配,省心。Tailwind 在 RN 上还是别折腾了,麻烦。