我遇到了一个简单的问题,似乎没有一个快速谷歌搜索或顺风文件的答案。
我是一个Vuejs用户,但我已经开始学习React。我选择使用TailwindCSS来测试我的React应用程序,但我注意到Vuejs和React之间在TailwindCSS的使用上有一些不同。
在Vue中,我可以通过父组件控制子组件,如下所示:
Parent component:
<template>
<div class="w-screen">
<ChildComponent class="w-1/2 mx-auto" />
</div>
</template>
子组件能够通过上述父组件在屏幕上居中,就像在ChildComponent的类中一样。
然而,当我尝试在React中这样做时:
Parent component:
import Homepage from './views/Homepage';
function App() {
return (
<div className='bg-black w-screen'>
<Homepage className="w-1/2 mx-auto"/>
</div>
);
}
export default App;
当我将CSS从父组件放置到Homepage子组件时,没有发生任何事情。
我肯定有一个简单的答案,但我不打算搜索文档或使用任何关键字来找到这个问题。有人得到提示或确认这是在React的意图或我做了什么错误的安装?
4条答案
按热度按时间uwopmtnx1#
这不是一个顺风问题,而是一个React问题。如果不将
className
作为一个 prop 传递,就不能在Homepage
组件上使用className
。在您的情况下,Homepage
不需要任何className
。因此,在制作主页组件时,您必须提供一个名为“className”的属性,这样它才能正常工作。或者如果你只是简单地用div
代替主页,它也会正常工作。看看这个codesandbox linkllew8vvj2#
您需要考虑到
<Homepage/>
是一个React组件,不能像这样接受HTMLAttrs。此示例可能会清除它:传递给
<Homepage/>
的className
实际上是一个props而不是Html属性。xxhby3vn3#
在Vue中,这是相当简单的,但在react中,您需要显式地在组件中使用
className
eit6fx6z4#
views/Homepage您必须接收将作为className传递的 prop
然后导出组件