This extension provides you JavaScript and React/Redux snippets in ES7 with Babel plugin features for VS Code.
To install the extension: es7-react-js-snippets on marketplace.
GitHub link: vscode-react-snippets.
This is a fork of vscode-react-snippets original.
You can search through snippets with ES7 snippet search
command which can be run with CMD + Shift + P
or just use CMD + Shift + R
keybinding.
- JavaScript (.js)
- JavaScript React (.jsx)
Every space inside { }
and ( )
means that this is pushed into next line :)
$
represent each step after tab
.
Prefix | Method |
---|---|
imp→ |
import moduleName from 'module' |
imn→ |
import 'module' |
imd→ |
import { destructuredModule } from 'module' |
ime→ |
import * as alias from 'module' |
ima→ |
import { originalName as aliasName} from 'module' |
imsc→ |
import styled from 'styled-components' |
exp→ |
export default moduleName |
exd→ |
export { destructuredModule } from 'module' |
exa→ |
export { originalName as aliasName} from 'module' |
enf→ |
export const functionName = (params) => { } |
edf→ |
export default (params) => { } |
met→ |
methodName = (params) => { } |
fre→ |
arrayName.forEach(element => { }) |
fof→ |
for(let itemName of objectName { }) |
fin→ |
for(let itemName in objectName { }) |
anfn→ |
(params) => { } |
nfn→ |
const functionName = (params) => { } |
dob→ |
const {propName} = objectToDescruct |
dar→ |
const [propName] = arrayToDescruct |
sti→ |
setInterval(() => { }, intervalTime |
sto→ |
setTimeout(() => { }, delayTime) |
prom→ |
return new Promise((resolve, reject) => { }) |
cmmb→ |
comment block |
cp→ |
const { } = this.props |
cs→ |
const { } = this.state |
Prefix | Method |
---|---|
eld→ |
/* eslint-disable */ |
Prefix | Method |
---|---|
imr→ |
import React from 'react' |
imrd→ |
import ReactDOM from 'react-dom' |
imrc→ |
import React, { Component } from 'react' |
imrcp→ |
import React, { Component } from 'react' & import PropTypes from 'prop-types' |
imrpc→ |
import React, { PureComponent } from 'react' |
imrpcp→ |
import React, { PureComponent } from 'react' & import PropTypes from 'prop-types' |
imrm→ |
import React, { memo } from 'react' |
imrmp→ |
import React, { memo } from 'react' & import PropTypes from 'prop-types' |
impt→ |
import PropTypes from 'prop-types' |
imrr→ |
import { BrowserRouter as Router, Route, Link } from 'react-router-dom' |
redux→ |
import { connect } from 'react-redux' |
rconst→ |
constructor(props) with this.state |
rconc→ |
constructor(props, context) with this.state |
est→ |
this.state = { } |
cwm→ |
componentWillMount = () => { } DEPRECATED!!! |
cdm→ |
componentDidMount = () => { } |
cwr→ |
componentWillReceiveProps = (nextProps) => { } DEPRECATED!!! |
scu→ |
shouldComponentUpdate = (nextProps, nextState) => { } |
cwup→ |
componentWillUpdate = (nextProps, nextState) => { } DEPRECATED!!! |
cdup→ |
componentDidUpdate = (prevProps, prevState) => { } |
cwun→ |
componentWillUnmount = () => { } |
gdsfp→ |
static getDerivedStateFromProps(nextProps, prevState) { } |
gsbu→ |
getSnapshotBeforeUpdate = (prevProps, prevState) => { } |
ren→ |
render() { return( ) } |
sst→ |
this.setState({ }) |
ssf→ |
this.setState((state, props) => return { }) |
props→ |
this.props.propName |
state→ |
this.state.stateName |
rcontext→ |
const ${1:contextName} = React.createContext() |
cref→ |
this.${1:refName}Ref = React.createRef() |
fref→ |
const ref = React.createRef() |
bnd→ |
this.methodName = this.methodName.bind(this) |
- All hooks from official docs are added with hook name prefix.
Prefix | Method |
---|---|
useState→ |
const [state, setState] = useState(initialState); |
useEffect→ |
useEffect(() => { }, [input]) |
useEffectClean→ |
useEffect(() => { return () => {} }, [input]) |
useContext→ |
const context = useContext(contextValue) |
useReducer→ |
const [state, dispatch] = useReducer(reducer, initialState, init) |
useCallback→ |
useCallback(() => { },[input]) |
useMemo→ |
useMemo(() => function, input) |
useRef→ |
const ref = useRef(initialValue) |
useImperativeHandle→ |
useImperativeHandle(ref, () => { }, [input]) |
useDebugValue→ |
useDebugValue(value) |
useLayoutEffect→ |
useLayoutEffect(() => { return () => {}, [input] }) |
rhc |
Custom hook |
Prefix | Method |
---|---|
rxaction→ |
redux action template |
rxconst→ |
export const $1 = '$1' |
rxreducer→ |
redux reducer template |
rxselect→ |
redux selector template |
rxuseSelector→ |
redux useSelector template |
rxuseDispatch→ |
redux useDispatch template |
rxuseStore→ |
redux useStore template |
Prefix | Method |
---|---|
pta→ |
PropTypes.shape([]) |
ptar→ |
PropTypes.shape([]).isRequired |
ptb→ |
PropTypes.bool |
ptbr→ |
PropTypes.bool.isRequired |
ptf→ |
PropTypes.func |
ptfr→ |
PropTypes.func.isRequired |
ptn→ |
PropTypes.number |
ptnr→ |
PropTypes.number.isRequired |
pto→ |
PropTypes.shape({}) |
ptor→ |
PropTypes.shape({}).isRequired |
pts→ |
PropTypes.string |
ptsr→ |
PropTypes.string.isRequired |
ptnd→ |
PropTypes.node |
ptndr→ |
PropTypes.node.isRequired |
ptel→ |
PropTypes.element |
ptelr→ |
PropTypes.element.isRequired |
pti→ |
PropTypes.instanceOf(name) |
ptir→ |
PropTypes.instanceOf(name).isRequired |
pte→ |
PropTypes.oneOf([name]) |
pter→ |
PropTypes.oneOf([name]).isRequired |
ptet→ |
PropTypes.oneOfType([name]) |
ptetr→ |
PropTypes.oneOfType([name]).isRequired |
ptao→ |
PropTypes.arrayOf(name) |
ptaor→ |
PropTypes.arrayOf(name).isRequired |
ptoo→ |
PropTypes.objectOf(name) |
ptoor→ |
PropTypes.objectOf(name).isRequired |
ptsh→ |
PropTypes.shape({ }) |
ptshr→ |
PropTypes.shape({ }).isRequired |
ptany→ |
PropTypes.any |
ptypes→ |
const propTypes = {}; |
dtypes→ |
const defaultProps = {}; |
Prefix | Method |
---|---|
clg→ |
console.log(object) |
clo→ |
console.log("object", object) |
ctm→ |
console.time("timeId") |
cte→ |
console.timeEnd("timeId") |
cas→ |
console.assert(expression,object) |
ccl→ |
console.clear() |
cco→ |
console.count(label) |
cdi→ |
console.dir |
cer→ |
console.error(object) |
cgr→ |
console.group(label) |
cge→ |
console.groupEnd() |
ctr→ |
console.trace(object) |
cwa→ |
console.warn |
cin→ |
console.info |
Prefix | Method |
---|---|
rgc |
// #region constants |
rgf |
// #region functions |
rgsc |
// #region styled-components |
rgrc |
// #region components |
Snippet |
Content |
---|---|
isc |
Import Styled Components |
iscn |
Import Styled Components/Native |
isg |
Styled Components Global Style |
scp |
Props snippet into component |
sch |
Hover pseudo-class |
scb |
Before pseudo-class |
sca |
After pseudo-class |
scd |
Styled Div |
scs |
Styled Span |
scb |
Styled Button |
sca |
Styled Anchor |
sch1 |
Styled H1 |
sch2 |
Styled H2 |
sch3 |
Styled H3 |
sch4 |
Styled H4 |
sch5 |
Styled H5 |
sch6 |
Styled H6 |
scp |
Styled Paragraph |
scol |
Styled Ordered List |
scul |
Styled Unordered List |
scli |
Styled List Item |
scim |
Styled Image |
scin |
Styled Input |
// #region constants
// #endregion
// #region functions
// #endregion
/**
*
*/
class useHook = () => {
return { };
}
export default useHook;
import React from 'react';
import styled from 'styled-components';
import PropTypes from 'prop-types';
// #region constants
// #endregion
// #region styled-components
// #endregion
// #region functions
// #endregion
// #region component
const propTypes = {};
const defaultProps = {};
/**
*
*/
class FileName extends React.Component {
constructor(props) {
super(props);
this.state = {
};
}
render() {
return <div>$2</div>;
}
}
FileName.propTypes = propTypes;
FileName.defaultProps = defaultProps;
// #endregion
export default FileName;
import React from 'react';
import styled from 'styled-components';
import PropTypes from 'prop-types';
// #region constants
// #endregion
// #region styled-components
// #endregion
// #region functions
// #endregion
// #region component
const propTypes = {};
const defaultProps = {};
/**
*
*/
class FileName extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
};
}
render() {
return <div>$2</div>;
}
}
FileName.propTypes = propTypes;
FileName.defaultProps = defaultProps;
// #endregion
export default FileName;
import React from 'react';
import styled from 'styled-components';
import PropTypes from 'prop-types';
// #region constants
// #endregion
// #region styled-components
// #endregion
// #region functions
// #endregion
// #region component
const propTypes = {};
const defaultProps = {};
/**
*
*/
const FileName = () => {
return <div>$0</div>;
}
FileName.propTypes = propTypes;
FileName.defaultProps = defaultProps;
// #endregion
export default FileName;
// #region redux HOC
const mapStateToProps = (state) => ({
{$1}: {$2:selector}(state),
});
const actionCreators = {
{$3}Action: {$3},
};
// //#endregion
connect(
mapStateToProps,
actionCreators
)(Component);
/**
* $1
*/
describe('$1', () => {
$2;
});
test('should $1', () => {
$2;
});
it('should $1', () => {
$2;
});
import React from 'react';
import { fireEvent } from '@testing-library/react';
import { render } from '../../../../../tests/testUtils';
import { ${1:ComponentName} } from '../${1:ComponentName}'
describe('<${1:ComponentName} />', () => {
const defaultProps = {}
it('render', () => {
const { container, getByText } = render(<${1:ComponentName} {...defaultProps} />)
getByText('');
});
});
import { renderHook } from '@testing-library/react-hooks';
import ${1:HookName} from '../${1:HookName}'
describe('<${1:HookName} />', () => {
it('Should ', () => {
const { result } = renderHook(() => ${1:HookName}());
});
});
jest.mock('${1:moduleName}', () => ({
__esModule: true,
default: jest
.fn(() => '')
.mockImplementationOnce(() => ('mockedReturn'))
.mockReturnValueOnce('mockedValue'),
}));
import React from 'react'
import PropTypes from 'prop-types'
import { connect } from 'react-redux'
export const mapStateToProps = state => ({
})
export const mapDispatchToProps = {
}
export const ${1:hocComponentName} = (WrappedComponent) => {
const hocComponent = ({ ...props }) => <WrappedComponent {...props} />
hocComponent.propTypes = {
}
return hocComponent
}
export default WrapperComponent => connect(mapStateToProps, mapDispatchToProps)(${1:hocComponentName}(WrapperComponent))
import React from 'react';
import PropTypes from 'prop-types';
const withSomething = (WrappedComponent) => {
const hocComponent = ({ ...props }) => <WrappedComponent {...props} />;
hocComponent.wrappedComponent = WrappedComponent;
hocComponent.propTypes = {};
return hocComponent;
};
export default withSomething;