reactjs - 如何在 React es6 中重写 react mixins?
问题描述
下午好,我正在尝试将项目从 React es5 转移到 React es6,我遇到了一个问题,即使用 mixins。我有这种类型的组件。
var BasicProfileComponent = React.createClass({
mixins: [GoogleMapApi],
componentWillMount: function() {
this.initializeGoogleMapApi(this.onGoogleApiLoaded);
}
)}
并混入其中
var GoogleMapApi = {
initializeGoogleMapApi: function(callback) {
if (window.apiLoaded) {
callback();
}
// adding calback to a queue
this.pullOfCallbacks.push(callback);
}
}
如何将此组件重写为 React.Component 并在其中使用 mixin 或如何为该 mixin 创建替代条目?
解决方案
很长一段时间没有在反应中使用Mixins 了。High Order Components、Render Props、Hooks都是共享状态逻辑的有效替代方案,而且它们都比 mixins 工作得更好。
推荐阅读
- php - Doctrine / DQL 获取具有完全相同相关实体的实体
- java - Spring-boot:创建引用的 uri
- python - 外部函数中的 Python IDLE 错误
- php - 如何在 Symfony 4.1 中设置选择选项名称?
- sql-server - 条件 JOIN 与自 JOIN
- go-templates - 如何在条件中分配变量
- c# - 在 xamarin iOS 底部显示 UIAlertController
- java - 通过代理脚本进行 Maven 配置
- jquery - 如何使用jquery在标签中的文本之后包装?
- python - 删除满足列值条件的 pandas 数据帧的初始行,同时保持列中的序列值不变