chore: refactor/remove mixin #133
Conversation
picodoth
commented
Apr 18, 2018
•
|
Remove all createReactClass, use ES class. |
return true; | ||
}); | ||
if (!this.props.defaultActiveFirst && activeIndex !== -1) { | ||
if (allDisabled(children.slice(activeIndex, len - 1))) { |
afc163
Apr 19, 2018
Member
这两个 if 可以合并。
这两个 if 可以合并。
} | ||
const start = (activeIndex + 1) % len; | ||
let i = start; | ||
for (; ;) { |
afc163
Apr 19, 2018
Member
用 while 是不是清晰一点。
用 while 是不是清晰一点。
if (i === start) { | ||
return null; | ||
} | ||
} else { |
afc163
Apr 19, 2018
Member
这个 else 是多余的。
这个 else 是多余的。
picodoth
Apr 19, 2018
Author
Contributor
不是多余的,如果找到一个有效的child就立马返回啊
不是多余的,如果找到一个有效的child就立马返回啊
if (c) { | ||
this.instanceArray[index] = c; | ||
} | ||
} | ||
|
||
const SubPopupMenu = createReactClass({ |
afc163
Apr 19, 2018
•
Member
去掉了 Mixin 就可以用 ES6 class 了。
去掉了 Mixin 就可以用 ES6 class 了。
getStore() { | ||
const store = this.props.store; | ||
|
||
return store; |
afc163
Apr 19, 2018
Member
return this.props.store
?
return this.props.store
?
}, | ||
}); | ||
|
||
MenuItem.isMenuItem = 1; |
yesmeck
Apr 19, 2018
Member
这句应该不用改
这句应该不用改
picodoth
Apr 20, 2018
Author
Contributor
不知道之前是不是埋了一个雷,isMenuItem应该放在包裹它的HOC上的,因为这里:
https://github.com/react-component/menu/blob/master/src/util.js#L40
我们都是直接用connectedComponent而不是menuItem
不知道之前是不是埋了一个雷,isMenuItem应该放在包裹它的HOC上的,因为这里:
https://github.com/react-component/menu/blob/master/src/util.js#L40
我们都是直接用connectedComponent而不是menuItem
yesmeck
Apr 23, 2018
Member
}, | ||
constructor(props) { | ||
super(props); | ||
} |
yesmeck
Apr 19, 2018
•
Member
constructor
可以去掉
constructor
可以去掉
@@ -188,6 +188,7 @@ exports[`Menu render renders inline menu correctly 1`] = ` | |||
class="rc-menu-submenu-arrow" | |||
/> | |||
</div> | |||
<div /> |
yesmeck
Apr 19, 2018
Member
为啥会多个 div 出来
为啥会多个 div 出来
picodoth
Apr 20, 2018
•
Author
Contributor
之前subpopubmenu会做一个渲染判断:
https://github.com/react-component/menu/blob/master/src/SubPopupMenu.js#L91
现在这部分逻辑(renderChildren)被提到subMenu了(因为Animation被提取到subMenu了)
https://github.com/react-component/menu/pull/133/files#diff-7f8a02620917aa2ed1113e338915793bR374
children的返回结果是要做Trigger的popup:
https://github.com/react-component/menu/pull/133/files#diff-7f8a02620917aa2ed1113e338915793bL449
popup属性不能为null,所以就返回了一个空div,这个不影响用户看到的渲染结果的
之前subpopubmenu会做一个渲染判断:
https://github.com/react-component/menu/blob/master/src/SubPopupMenu.js#L91
现在这部分逻辑(renderChildren)被提到subMenu了(因为Animation被提取到subMenu了)
https://github.com/react-component/menu/pull/133/files#diff-7f8a02620917aa2ed1113e338915793bR374
children的返回结果是要做Trigger的popup:
https://github.com/react-component/menu/pull/133/files#diff-7f8a02620917aa2ed1113e338915793bL449
popup属性不能为null,所以就返回了一个空div,这个不影响用户看到的渲染结果的
level: PropTypes.number, | ||
mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']), | ||
triggerSubMenuAction: PropTypes.oneOf(['click', 'hover']), | ||
inlineIndent: PropTypes.number, |
yesmeck
Apr 23, 2018
Member
这个原来有当成 string 用的。
这个原来有当成 string 用的。
picodoth
Apr 23, 2018
Author
Contributor
后面在用的时候是这么用的:
style.paddingLeft = props.inlineIndent * props.level;
, 不过它会自动类型转化,为了跟已有的code类型兼容,我改成了:
inlineIndent: PropTypes.oneOfType(PropTypes.number, PropTypes.string),
后面在用的时候是这么用的:
style.paddingLeft = props.inlineIndent * props.level;
, 不过它会自动类型转化,为了跟已有的code类型兼容,我改成了:
inlineIndent: PropTypes.oneOfType(PropTypes.number, PropTypes.string),
其他 ok |
分支要删掉。 |
This comment has been minimized.
This comment has been minimized.
??? 不审核的??? |
@picodoth 可以发个大版本,然后更新到 antd feature-3.5.0 分支上,提前合上去发现问题。月底 3.5 上更新掉。 |
@afc163 好的 |