スニペット(react)¶
ReactComponent定義(StatelessFunctionalComponent Type1 ※シンプル)¶
import React from 'react';
const ${TM_FILENAME_BASE} = (props) => (
<div>{JSON.stringify(props)}</div>
)
export default ${TM_FILENAME_BASE};
vscodeの設定例
"StatelessFunctionalComponent": { "prefix": "react-sfc", "body": [ "import React from 'react';", "const ${TM_FILENAME_BASE} = (props) => (", " <div>{JSON.stringify(props)}</div>", ")", "export default ${TM_FILENAME_BASE};" ], "description": "StatelessFunctionalComponent" }
ReactComponent定義(StatelessFunctionalComponent Type2 ※変数や分岐を使う)¶
import React from 'react';
const ${TM_FILENAME_BASE} = (props) => {
if (false) return null;
return (
<div>{JSON.stringify(props)}</div>
);
};
export default ${TM_FILENAME_BASE};
ReactComponent定義(classベース)¶
import React, { Component } from 'react';
class ${TM_FILENAME_BASE} extends Component {
constructor(props) {
super(props);
}
componentDidMount = () => {
// todo
}
render() {
return (
<div>todo</div>
);
}
}
export default ${TM_FILENAME_BASE};
ReactComponent定義(Redux-Container)¶
import React, { Component } from 'react';
import { connect } from 'react-redux';
class ${TM_FILENAME_BASE} extends Component {
constructor(props) {
super(props);
}
componentDidMount = () => {
// todo
}
render() {
return (
<div>todo</div>
);
}
}
const mapStateToProps = (store) => ({
});
const mapDispatchToProps = {
};
export default connect(mapStateToProps, mapDispatchToProps)(${TM_FILENAME_BASE});
Etc Tips¶
子コンポーネントに自分のpropsを丸ごと渡す場合の書き方¶
// Fuctional Componentの場合 <ChildComponent {...props} /> // ClassBase Componentの場合 <ChildComponent {...this.props} />