React

create-react-appで絶対パスによるimportをする

src/Components/App.jsx を src/index.js からimportする場合、create-react-appでは import App from './Components/App'; と書くが、これを、 import App from 'Components/App'; こう書きたい。 が、デフォルトではパスの解決ができず、 Module not found…

TypeScriptによるStateless Functional Componentの定義

環境構築は create-react-app とMicrosoft/TypeScript-React-Starterでサクッと行う $ npx create-react-app my-app --scripts-version=react-scripts-ts $ cd my-app $ npm run start 以前、TypeScriptでReact app作ろうとしてセットアップに手間取ったとき…

React Sketch.app

フロントエンドのデザインと実装のワークフローをスムーズにできないか、というのを考えているときにReact Sketch.appというそれっぽい名前のツールを見つけた。 React Sketch.appとは そもそもSketch使ったこともなかった(UIに特化したIllustratorくらいの…

renderSomething() メソッドを潰す

年末だし大掃除しよう、 ということでClass Componentにある render* というメソッドを潰している。 stateless functionへの書き換え 具体的には、こんな感じになっているのを class Foo extends React.Component { renderSomething() { return <div>something</div> } …

作ればわかる、FM音源

この記事はSpeee Advent Calendar 2017 15日目の記事です。 前日は@cho3による「サンタクロースの正体を暴く」でした。 動機 昔からFM音源の音は好きだったが、どういう原理で音作りをしているのか詳しくは知らなかった。 FM音源がどんな音色を出すかについ…

Parcelで絶対パスを使う場合はbabel-plugin-module-resolverを使う

問題 Parcelのdocsには相対パスによるimportのサンプルしか載っていない import Box from ‘../../components/box’ とか書きたくない babel-plugin-module-resolverでrootを解決する 本家のIssueより、 babel-plugin-module-resolver を使う。 Alias definiti…

ちょっとしたappのビルドはParcelでいいかもしれない

Parcelというapplication bundlerが話題なので早速試してみた。 リリースから5日で7000以上のGitHub starを集めている。 Parcelとは Parcel fast, zero configurationを謳うapplication bundler。 要するにconfigの要らない、ビルドの速いwebpackのようなも…

Container ComponentをTypeScriptで書く

react-reduxのContainer ComponentをTypeScriptで書き直した。 嫌いじゃないが、もう少しシンプルにならないものか。 途中でAtomからVS Codeに切り替えたが、 特にカスタマイズをしなくてもTypeScriptに対応していたり、 IntelliSenseがpropsやstateに対して…

はじめてのReact VR

Reactのコンポーネントの中にthree.jsのsceneを配置したら面白いんじゃないか… というようなことを考えていたらReact VRとやらが登場していたので少し触ってみた。 DEMO nishaya/my-first-react-vr componentの切り出しは、通常のReactと同様 export default…

React/ReduxのBoilerplateを作った

React/Reduxを使ってちょっとしたもの(楽器とか)を作ろうと思ったとき、 実験用のコードを書くよりも環境構築に時間がかかってあほらしいので、 自前でboilerplateを作った。 既存のboilerplateを使えばいいのだけれど、 余分なもの、自分が理解していないも…

シーケンサを作る準備

Reactでシンセサイザーを作ったので、 次はシーケンサを作りたいと思っている。 最低限押さえておきたいのはこのあたり ズレのないタイミング制御 AudioScheduledSourceNode.start(when) を使う テンポの変更を演奏にリアルタイム反映 明快なUI 一音一音打ち…