GithubHelp home page GithubHelp logo

favorite-color-recommend's Introduction

favorite-color-recommend's People

Contributors

miso-devel avatar

Watchers

 avatar

favorite-color-recommend's Issues

Test何をどこまでする?

E2Eテストか結合テストか

そこまで大規模なアプリでないのとユーザーが操作する部分がそこまで多くないので結合テストがいい気がする

どの部分をテストする?

  • 画面遷移
    • 色を選択した時
    • footerのボタンを押した時
  • State
    • 色を選択した時のcolor state
    • 色を選択した時のcount state
    • 結果が表示された時のstate
  • API
    • APIから返ってきたデータが表示されているか

# favorite-color-recommend

favorite-color-recommend

仕様

  • 毎回4色の中から1色選ぶ
  • ランダムな色を4色viewに描画する
  • それを5回繰り返す
  • 選んだ色は上部に示しておきたい
  • 選んだ色の平均値をとって結果として表す。

不安なとこ

  • 色をbutton要素として設置したい

divをbuttonの中に入れて解決

  • 更新したら進行状況が消えちゃうのでどこかに一時的に保存したい(localstrage???)
  • Color APIは最終的に結果の色の情報を示すために使うべき
  • colorコードをランダムに返す関数を作る
  • colorをどうやってとってきてstateに保存する?

colorを引数に渡してstateに保存する
colorを引数に渡すとき表示されてる色とその色は同一でなければならないのでコンポーネントで分けるしかないのか

レビュー(5/16)

  • [おすすめ]以下のようにするとスッキリかけます。
const colorModels = [
    "XYZ",
    "cmyk",
    "hsv",
    "hex",
    "name",
    "hsl",
    "rgb"
] as const;

type colorModel = typeof colorModels[number];

type State = {
    color: number[][]
    result: {
        [C in colorModel]: {
            value: string
        }
    }
}

https://github.com/nisi0929/favorite-color-recommend/blob/6d029ec9c18e806311cacf9698ce692a4715a6a4/src/redux/colorSlice.ts#L6-L31

https://github.com/nisi0929/favorite-color-recommend/blob/6d029ec9c18e806311cacf9698ce692a4715a6a4/src/methods/CalcResult.ts#L6-L10

https://github.com/nisi0929/favorite-color-recommend/blob/6d029ec9c18e806311cacf9698ce692a4715a6a4/src/methods/CalcResult.ts

  • [質問] 以下のようにvalueという変数名を設定しなかったらRedux Toolkitは動作しないとかありますか?同じvalueというキーを持っているのは冗長のように思えました。
result: { 
     XYZ: ""
     cmyk: ""
     ...

https://github.com/nisi0929/favorite-color-recommend/blob/6d029ec9c18e806311cacf9698ce692a4715a6a4/src/redux/colorSlice.ts#L34-L37

  • [質問] 同じ処理なのに分けた意図ってありますか?

https://github.com/nisi0929/favorite-color-recommend/blob/6d029ec9c18e806311cacf9698ce692a4715a6a4/src/redux/counterSlice.ts#L11-L16

[感想]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.