以下组件的设计哪个比较好?

如果一个页面要引入一个组件,假设这个组件有两个按钮,其中一个按钮在用户没有登录时会隐藏,可以通过 hasLogin 进行控制,其中 hasLogin 保存在全局的 store 中。一种设计方案是在组件内引入 hasLogin。一种是在页面内引入 hasLogin,然后通过 props 传入到组件。这两种方式哪一种更好

阅读 1.5k
2 个回答

两个设计都不好,正确的方式是这两个按钮不内置在组件中,通过slot传入。这个时候就可以自由控制按钮的显隐了

组件当然是要具备灵活的可配置性,“保存在全局的 store 中”这种强依赖使用者无法进行配置丧失了灵活性。而props 传入把配置能力转交给了使用者,更灵活。

推荐问题