Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Everything of Front-end in seeds company

Everything of Front-end in seeds company

SEEDS COMPANY のフロントエンド事情のお話です。

2018/02/22 に以下で発表した内容です。

【 ヒカ☆ラボ 】キッキャッ!APIだらけの新サービス開発裏舞台!(全部見せます)
https://atnd.org/events/94367

More Decks by SEEDS COMPANY (PERSOL PROCESS & TECHNOLOGY CO., LTD.)

Other Decks in Technology

Transcript

  1. ϑϨʔϜϫʔΫ ϥΠϒϥϦ ͷબఆ 3FBDU͸7JFXͷϥΠϒϥϦ ϑϨʔϜϫʔΫ  ͜Ε͚ͩͰ৭ʑ΍Ζ͏ͱ͢Δͱେม -JTU1BHF ᵓ4FBSDI#PY ᴹᵓ*OQVU

    ᴹᵋ#VUUPO ᵋ-JTU ᵋ-JTU*UFN onClickHandler onChangeHandler onChangeHandler onClickHandler items item 3FBDU࣮૷ྫ ϑϩϯτΤϯυͷϑϨʔϜϫʔΫɾΞʔΩςΫνϟબఆ
  2. ϑϨʔϜϫʔΫ ϥΠϒϥϦ ͷબఆ ͭͷTUBUFͰ؅ཧ͢Δ -JTU1BHF ᵓ4FBSDI#PY ᴹᵓ*OQVU ᴹᵋ#VUUPO ᵋ-JTU ᵋ-JTU*UFN

    state 3FBDU 3FEVY࣮૷ྫ onChange = dispatch(changeAction()) onClick = dispatch(clickAction()) Actions Props ϑϩϯτΤϯυͷϑϨʔϜϫʔΫɾΞʔΩςΫνϟબఆ
  3. ίϯϙʔωϯτͷ෼ׂࢦ਑ DPNQPOFOUT ᵓBUPNT ᴹᵓ#VUUPO ᴹᵋ*OQVU ᵓNPMFDVMFT ᴹᵓ4FBSDI#PY ᴹᵋ-JTU*UFN ᵓPSHBOJTNT ᴹᵓ)FBEFS

    ᴹᵋ-JTU ᵓUFNQMBUFT ᴹᵋ1BHF8JUI)FBEFS ᵋQBHFT ᵋ-JTU1BHF )&"%&3 ϑϩϯτΤϯυͷϑϨʔϜϫʔΫɾΞʔΩςΫνϟબఆ
  4. ίϯϙʔωϯτͷ෼ׂࢦ਑ -&44 TUZMFT ᵓBUPNT ᴹᵓ@CVUUPOMFTT ᴹᵓ@JOQVUMFTT ᴹᵋ@BMMMFTT ᵓNPMFDVMFT ᴹᵓ@TFBSDICPYMFTT ᴹᵓ@MJTUJUFNMFTT

    ᴹᵋ@BMMMFTT  தུ  ᵓ@CBTFMFTT ᵓ@GPOUGBDFMFTT ᵓ@NJYJOMFTT ᵓ@TFUUJOHMFTT ᵋNBJOMFTT import React from 'react';
 import PropTypes from 'prop-types';
 import classNames from 'classnames';
 import { Button as MUIButton } from 'muicss/react';
 
 function Button({ className, type = 'button', children, ...remainProps }) {
 return (
 <MUIButton
 type={type}
 className={classNames('a_button', className)}
 {...remainProps}
 >
 {children}
 </MUIButton>
 );
 }
 
 Button.propTypes = {
 type: PropTypes.string,
 className: PropTypes.string,
 children: PropTypes.node,
 };
 
 export default Button; DPNQPOFOUTBUPNT#VUUPOKTY .a_button {
 font-weight: normal;
 margin: 0;
 text-transform: none;
 .border-radius; 
 &.btn-default {
 background-color: @whiteColor;
 color: @themeLightColor;
 } /* (লུ) */ TUZMFTBUPNT@CVUUPOMFTT ϑϩϯτΤϯυͷϑϨʔϜϫʔΫɾΞʔΩςΫνϟબఆ
  5. [UIサーバー・フロント実装ルート] ├── public │ ├── img │ ├── js │

    │ └── login.js │ ├── lib │ └── favicon.ico ├── public_authenticated │ ├── img │ └── js │ └── app.js ├── router ├── service ├── src │ ├── actions │ ├── components │ ├── configure │ ├── constants │ ├── reducers │ ├── styles │ └── configureStore.js ├── tests ├── util ├── views ├── webpack ├── app.js ├── DockerfileBase ├── package.json ├── package-lock.json ├── webpack.config.babel.js ├── .babelrc ├── .eslintignore └── .eslintrc σΟϨΫτϦߏ੒ QVCMJD ɹFYQSFTTͰϗετ͢Δ੩తϦιʔε QVCMJD@BVUIFOUJDBUFE ɹϩάΠϯͨ͠ϢʔβͷΈʹϗετ͢Δ੩తϦιʔε ɹϏδωεϩδοΫ͕ೖ͍ͬͯΔίʔυ΍ɺը૾ͳͲ TSD ɹϑϩϯτ࣮૷ͷKT KTY MFTTίʔυ QBDLBHFMPDLKTPO ɹύοέʔδͷόʔδϣϯΛݻఆ ϑϩϯτΤϯυͷϑϨʔϜϫʔΫɾΞʔΩςΫνϟબఆ