元エンジニアPMのプロダクトマネージャーお役立ち情報

スタートアップから大規模プロダクトまで担当している元エンジニアの筆者が、事業開発・プロダクトマネジメントに役立つ情報を発信します

Javascript

Reduxで@@INITで初期Stateは設定しないほうが良い

tl:dr; Reduxで初期Stateに値を入れる際は、@@INITを使わないほうが良い。 (後で調べたら、アンチパターンらしい) 下のように初期Stateを@@INIT時に渡すように設定していたら、 Production状態でINITがスルーされており正しく読み込まれていないことが判明…

css animationのリスタートを行う場合のハック

tl:dr; Reactなどで、css animationをかけている要素に対して、 中身の小要素が変わったときにサイドアニメーションをリスタートさせる方法 課題 propsが変更されても、中身が変わるだけなのでアニメーションは再実行されない。 const animTarget = (props:P…

SNSシェア時のURLのパラメータの二個目以降が消える問題を回避する

twitterや、facebookのurlをhrefに入れる際に二個目以降のパラメータが消えたりしたのでその回避策 発生したコード const twLink = (url) => { return ( <Link to={ `http://twitter.com/share?url=${url}?utm_source=twitter&utm_medium=social&utm_campaign=hoge` }>twitter</Link> ) } これだと、シェアされるURLは、${url}?utm_source=twitterになり、後続のパラメータが消え…

Javascriptで数字の連番配列の作り方

概要 Javascriptで、1からNまでの配列を作る時の作り方、備忘録 for文でカウントさせるのも良いのだけど、できるだけワンライナーで書きたい時に使える書き方です。 求めるアウトプット [1,2,3, ...n] コード Nに、最大値を入れればそこまでの配列を生成しま…