refactor: use React.useContext replace ConfigConsumer (#41184)

* chore: use React.useContext replace ConfigConsumer

* fix
This commit is contained in:
lijianan 2023-03-14 10:54:46 +08:00 committed by GitHub
parent 2f02fe01f0
commit 669e58c380
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,7 +1,6 @@
import classNames from 'classnames'; import classNames from 'classnames';
import * as React from 'react'; import * as React from 'react';
import type { ConfigConsumerProps } from '../config-provider'; import { ConfigContext } from '../config-provider';
import { ConfigConsumer } from '../config-provider';
import warning from '../_util/warning'; import warning from '../_util/warning';
import type { AntAnchor } from './Anchor'; import type { AntAnchor } from './Anchor';
import AnchorContext from './context'; import AnchorContext from './context';
@ -46,17 +45,20 @@ const AnchorLink: React.FC<AnchorLinkProps> = (props) => {
); );
} }
return ( const { getPrefixCls } = React.useContext(ConfigContext);
<ConfigConsumer>
{({ getPrefixCls }: ConfigConsumerProps) => {
const prefixCls = getPrefixCls('anchor', customizePrefixCls); const prefixCls = getPrefixCls('anchor', customizePrefixCls);
const active = activeLink === href; const active = activeLink === href;
const wrapperClassName = classNames(`${prefixCls}-link`, className, { const wrapperClassName = classNames(`${prefixCls}-link`, className, {
[`${prefixCls}-link-active`]: active, [`${prefixCls}-link-active`]: active,
}); });
const titleClassName = classNames(`${prefixCls}-link-title`, { const titleClassName = classNames(`${prefixCls}-link-title`, {
[`${prefixCls}-link-title-active`]: active, [`${prefixCls}-link-title-active`]: active,
}); });
return ( return (
<div className={wrapperClassName}> <div className={wrapperClassName}>
<a <a
@ -71,9 +73,6 @@ const AnchorLink: React.FC<AnchorLinkProps> = (props) => {
{direction !== 'horizontal' ? children : null} {direction !== 'horizontal' ? children : null}
</div> </div>
); );
}}
</ConfigConsumer>
);
}; };
export default AnchorLink; export default AnchorLink;