styled-component的定义位置
来源:6-4 最受欢迎的CSS-in-JS方案 - Emotion的安装与使用

津白
2021-01-31
问一个超级弱智的问题:这里的ShadowCard
不是用const在组件后面定义的吗?为什么可以在定义之前的位置里被使用呢?是不是我对ts或者webpack有什么误解?
export default function UnauthenticatedApp() {
const [isRegiestered, setIsRegistered] = useState(false);
return (
<Container>
<ShadowCard>
{isRegiestered ? <LoginScreen /> : <RegisterScreen />}
<button onClick={() => setIsRegistered(!isRegiestered)}>
切换到{isRegiestered ? "注册" : "登录"}
</button>
</ShadowCard>
</Container>
);
}
const ShadowCard = styled(Card)`
width: 40rem;
min-height: 56rem;
padding: 3.2rem 4rem;
border-radius: 0.3rem;
box-sizing: border-box;
box-shadow: rgba(0, 0, 0, 0.1) 0 0 10px;
text-align: center;
`;
写回答
1回答
-
Hi, 这个问题挺好的
把这段代码粘贴到你的项目中运行试一下,理解了这段代码就理解了这个问题:
const test = () => a test() // 如果没有这一句,不会报错;如果有这一句,会报错;为什么呢? const a = 1;
注释里的问题的答案是:由于 test 函数没有被调用,所以第一行并没有 '使用' a 变量;而在第二行调用了test函数,真正使用到了a变量,就会报错了
142021-02-19
相似问题