@gem-mine/fish-compatible
v1.0.1
Published
Fish Docs v3 to v4 compatible package
Downloads
7
Readme
Fish Docs Compatible
Install
yarn add @gem-mine/fish-compatible
Usage
Helps you to compatible different components between v3 and v4.
Follow Component are provided compatible version:
- Form
- Icon
- Mention
import { Form } from '@gem-mine/fish-compatible';
import '@gem-mine/fish-compatible/assets/index.css'; // If you need
Introduction
Form
Form of v3 api is different with v4:
// V3
import { Form, Input, Button } from 'fish';
class MyForm extends React.Component {
render() {
const { form } = this.props;
return (
<Form>
{form.getFieldDecorator('username')(<Input />)}
<Button>Submit</Button>
</Form>
);
}
}
export default Form.create()(MyForm);
Change to:
// V4 with compatible
import { Form as LegacyForm } from '@gem-mine/fish-compatible';
import { Input, Button } from 'fish';
import '@gem-mine/fish-compatible/assets/index.css';
class MyForm extends React.Component {
render() {
const { form } = this.props;
return (
<LegacyForm>
{form.getFieldDecorator('username')(<Input />)}
<Button>Submit</Button>
</LegacyForm>
);
}
}
export default Form.create()(MyForm);
Icon
Just import Icon
from package @gem-mine/fish-compatible
and the reset is almost same as before.
// V3
import { Icon, Button } from 'fish';
class MyIconList extends React.Component {
render() {
return (
<div className="icons-list">
<Button>hello button</Button>
<Icon type="home" />
<Icon type="setting" theme="filled" />
<Icon type="smile" theme="outlined" />
<Icon type="sync" spin />
<Icon type="smile" rotate={180} />
<Icon type="loading" />
</div>
);
}
}
export default MyIconList;
Change to:
// V4 with compatible
import { Icon as LegacyIcon } from '@gem-mine/fish-compatible';
class MyIconList extends React.Component {
render() {
return (
<div className="icons-list">
<Button>hello button</Button>
<LegacyIcon type="home" />
<LegacyIcon type="setting" theme="filled" />
<LegacyIcon type="smile" theme="outlined" />
<LegacyIcon type="sync" spin />
<LegacyIcon type="smile" rotate={180} />
<LegacyIcon type="loading" />
</div>
);
}
}
export default MyIconList;
Mention
The legacy usage in v3
import { Mention } from 'fish';
const { toString } = Mention;
ReactDOM.render(
<Mention
style={{ width: '100%' }}
onChange={onChange}
defaultSuggestions={[
'afc163',
'benjycui',
'yiminghe',
'RaoHai',
'中文',
'にほんご',
]}
onSelect={onSelect}
placement="top"
/>,
mountNode,
);
Compatible usage in v4
import { Mention } from '@gem-mine/fish-compatible';
import '@gem-mine/fish-compatible/assets/index.css';
const { toString } = Mention;
ReactDOM.render(
<Mention
style={{ width: '100%' }}
onChange={onChange}
defaultSuggestions={[
'afc163',
'benjycui',
'yiminghe',
'RaoHai',
'中文',
'にほんご',
]}
onSelect={onSelect}
placement="top"
/>,
mountNode,
);
FAQ
Missing Grid
style when use Form
.
You should import Grid
style by youself.
import 'fish/es/grid/style/css'; // By CSS
// import 'fish/es/grid/style'; // By LESS