如果一个页面要引入一个组件,假设这个组件有两个按钮,其中一个按钮在用户没有登录时会隐藏,可以通过 hasLogin 进行控制,其中 hasLogin 保存在全局的 store 中。一种设计方案是在组件内引入 hasLogin。一种是在页面内引入 hasLogin,然后通过 props 传入到组件。这两种方式哪一种更好
如果一个页面要引入一个组件,假设这个组件有两个按钮,其中一个按钮在用户没有登录时会隐藏,可以通过 hasLogin 进行控制,其中 hasLogin 保存在全局的 store 中。一种设计方案是在组件内引入 hasLogin。一种是在页面内引入 hasLogin,然后通过 props 传入到组件。这两种方式哪一种更好
组件当然是要具备灵活的可配置性,“保存在全局的 store 中”
这种强依赖使用者无法进行配置丧失了灵活性。而props 传入把配置能力转交给了使用者,更灵活。
13 回答12.8k 阅读
8 回答2.5k 阅读
2 回答5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
5 回答797 阅读
3 回答2.1k 阅读
2 回答1.5k 阅读✓ 已解决
两个设计都不好,正确的方式是这两个按钮不内置在组件中,通过slot传入。这个时候就可以自由控制按钮的显隐了