Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

hbarcelos/vim-react-snippets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

49 Commits

Repository files navigation

Vim React Snippets

A Vim snippet library for React in ES6. You may also want to check out vim-es2015-snippets.

Requires UltiSnips.

vim-react-snippets

Installation

Using vim-plug:

" ES2015 code snippets (Optional)
Plug 'epilande/vim-es2015-snippets'
" React code snippets
Plug 'hbarcelos/vim-react-snippets'
" Ultisnips
Plug 'SirVer/ultisnips'

Usage

In a JavaScript or JSX file, type a trigger name while in Insert mode, then press Ultisnips trigger key. In my case I have it mapped to <C-c>.

For example, let's say we have ListItem.js

In Insert mode

rfc<C-c>

Will expand to

import React from 'react';
import PropTypes from 'prop-types';
function ListItem({ ...props }) {
 return (
 <div>
 </div>
 );
}
ListItem.defaultProps = {
};
ListItem.propTypes = {
};
export default ListItem;

Check out UltiSnips/javascript.snippets to see all snippets.

Snippets

Skeleton

Trigger Content
rrcc→ React Redux Class Component
rcc→ React Class Component
rfc→ React Functional Component
rsc→ React Styled Component
rsci→ React Styled Component Interpolation

Lifecycle

Trigger Content
cwm→ componentWillMount() {...}
cdm→ componentDidMount() {...}
cwrp→ componentWillReceiveProps(nextProps) {...}
scup→ shouldComponentUpdate(nextProps, nextState) {...}
cwup→ componentWillUpdate(nextProps, nextState) {...}
cdup→ componentDidUpdate(prevProps, prevState) {...}
cwu→ componentWillUnmount() {...}
ren→ render() {...}

PropTypes

Trigger Content
pt→ propTypes {...}
pt_a→ PropTypes.array
pt_b→ PropTypes.bool
pt_f→ PropTypes.func
pt_n→ PropTypes.number
pt_o→ PropTypes.object
pt_s→ PropTypes.string
pt_no→ PropTypes.node
pt_e→ PropTypes.element
pt_io→ PropTypes.instanceOf
pt_one→ PropTypes.oneOf
pt_onet→ PropTypes.oneOfType (Union)
pt_ao→ PropTypes.arrayOf (Instances)
pt_oo→ PropTypes.objectOf
pt_sh→ PropTypes.shape
ir→ isRequired

Others

Trigger Content
props→ this.props
state→ this.state
set→ this.setState(...)
dp→ defaultProps {...}
cn→ className
ref→ ref
pp→ ${props => props}

Hooks

Trigger Content
us_s→ const [state, setState] = useState('');
us_e→ useEffect(() => { });
us_er→ useEffect(() => { return () => {}; });
us_c→ const context = useContext(ctx);
us_r→ const [store, dispatch] = useReducer(storeReducer, initialState);
us_cb→ useCallback(() => { }, []);
us_m→ const memo = useMemo(() => { }, []);

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /