TypeScript JSXでMaterial UIを試してみた
material-uiというものがあるというのを聞きました。www.material-ui.comReactでマテリアルデザインを再現するのにいい感じみたいですね。プロジェクト作成Visual StudioでTypeScriptのプロジェクトを作ります。 プロジェクトをPowerShellで開いてnpm...
View ArticleTypeScript JSXでReactのFluxのHello worldしてみた
Fluxとは。facebook.github.ioReactで色々柔軟にできるけど、アプリ内のデータの流れを一方向に整理してみましたということみたいですね。Fluxはアーキテクチャであって、フレームワークやライブラリではないというけれど、一応公式で小さなライブラリがあります。今回はこれを使ってみようと思います。下準備下準備としてライブラリと型定義を入れます。打ち込んだコマンドはこんな感じです。npm...
View Article2015年のアクセス結果から人気の高かった記事とは #とは
最近Reactにお熱な感じですが、このBlogのメインコンテンツはXAML系テクノロジのUWPやWPFあたりになります。そんなBlogでトップページを除くアクセスの多かった記事Top3を紹介したいと思います。なんとなく思いつきです。No1は…!blog.okazuki.jpアッ、ハイ。気を取り直してNo2!blog.okazuki.jpアッ、ハイ。世の中DataTableがアツイんでしょうか…。なぜ...
View ArticleTypeScriptでmaterial-ui-mdiを使う
material-uiのアイコンセットでmaterial-ui-mdiっていうのがあります。github.comちょっとアイコンセットがほしかったので試そうとしたらTypeScriptの型定義がないorzということで無ければ作ればいいじゃない?ということで、こんな感じのT4 Templateを書いてみました。<#@ template debug="false"...
View ArticleTypeScriptを使ってwhatwg-fetchを使ってライトウェイトにAJAXしたい
Reactを使ってるとAJAX通信のためだけにjQueryを参照することもあります。でも、それだけに使うにはあまりにもヘビーだ。ということで、色々検索してたらwhatwg-fetchというものがあることを知りました。これを使ってみましょう。github.comインストール私はnpm install...
View ArticleTypeScriptでmaterial-uiするときのreact-tap-event-plugin
Reactのver1までは以下のおまじないがいるらしいんですがwww.material-ui.comreact-tap-event-pluginに型定義が無いっぽいんですよね。ということでこんな感じでいけました。declare module 'react-tap-event-plugin' { function injectTapEventPlugin(); export =...
View ArticleVisual StudioとTypeScriptによるReact入門という薄い本をKindleに出してみました
あけましておめでとうございます。年末割とReactしてたので自分の復習がてらWordにまとめてKidnelに放流してみました。www.amazon.co.jp初心者なので、間違ってる事書いてたら教えてください。
View ArticleReactとTypeScriptでデータグリッド表示するのに使えるreact-datagrid
業務で使おうと思ったらそれなりのデータグリッド部品が必要になりますよね。そんなとき、ちょっと我慢すれば使えそうなreact-datagridを紹介したいと思います。react-datagridnpm install react-datagrid --save tsd install react-datagridで導入が可能なデータグリッド部品です。公式サイトは以下のページになります。A...
View Articlereact-routerでコンポーネント外から画面遷移する(TypeScript版)
react-routerにはbrowserHistoryというものがあるので、それをimportして使えばいいよ!って書いてある。github.comしかし、型定義にそんなものはない。じゃぁどうするの?historyモジュールのcreateHistoryを呼んだものをグローバルに用意しておきます。import{createHistory} from 'history'; exportdefault...
View ArticleReact + TypeScript JSXでマスター詳細画面みたいなの
React + react-router + react-datagrid + whatwg-fetch + react-bootstrapくらいを使ってます。github.com一応ASP.NET WebAPIで作ったWebAPIを呼び出しています。グリッドにAPIからとってきたものを表示して行を選択すると編集画面に移動。感想としては難しかった…。
View ArticleReactRouter + TypeScriptでパラメータを受け取る方法
ルートの定義でdetail/:idみたいにしてたら、idという名前のパラメータを受け取ることが出来ます。受け取り方は以下のような感じで。ReactRouter.RouteComponentPropsの第二型引数にパラメータの型を指定します。interface DetailComposerProps extends ReactRouter.RouteComponentProps<{}, {...
View ArticleReact + TypeScriptで入力値チェック
入力値チェックしたかったら、こんな感じのを用意するのかなというのを作ってみました。 業務で使うなら、もうちょっと汎用性減らして数字用とか○○コード用とかっていう風に作ってもいいのかもね。interface InputTextBoxProps extends React.Props<{}> { label: string; required?: boolean; regex?:...
View ArticleReact + TypeScriptでjestを使ったテストをする
Reactを使ったアプリのテストにはjestっていうのが使われるっぽいですね?jest知らない子だ。facebook.github.ioMock by...
View Articlegulpfile.jsを書くのにVisual Studio 2015は最高だぜ
JavaScript開発のお供としてのタスクランナーのgulp。これのgulpfile.jsをインテリセンスが効く環境でかけたら入門できるかも…と思いVisual Studio Codeとか色々あさってましたが、灯台元暮らし的にVisual Studio 2015でインテリセンスがききました。ハイ。npm install gulp-cli -g # まだ入れてないなら npm install...
View ArticleVisual Studio 2015のNodeJSのバージョンが古い
最新版を別途インストールしてもタスクランナーエクスプローラーとかから実行するときに使われるnodejsのバージョンが古いです。これを解決するのに以下のサイトが非常に参考になりました。qiita.comでも、この設定ってどこに保存されるんだろう…。 危惧してるのは、誰か別の人の所にgit経由で渡ったときに、同じ設定をしないといけないのかということです…。
View ArticleInteractというライブラリ
interactjs.ioドラッグアンドドロップや、リサイズ、移動など色々な操作を簡単に記述できるというライブラリを見つけたのでメモです。TypeScriptの型定義もありますが、ちょっと罠がありまして…npmからインストールするときはinteract.jsという名前でインストールするのでimportするときにはinteract.jsでimportしないといけないという感じなのですが、TypeScr...
View ArticleReact + TypeScript JSXでInteractを使う
先日見つけたInteractというライブラリを使って簡単なサンプルを作ってみました。github.com灰色の場所をクリックすると矩形が追加されます。矩形はドラッグで移動させることと、端っこをつまむことでリサイズが可能です。ポイントinteractは、npmではinteract.jsという名前で配布されてます。tsdでとってきた型定義ではinteractという名前でexportされてるので、Type...
View ArticleWPFのGridSplitterでピクセル指定の時に画面外までサイズ変更できなくする
という方法です。ColumnDefinitionのMaxWidthを指定してやれば実現できました。こんな感じのConverterを用意しておきます。using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using...
View ArticleWPFのGridSplitterで*でサイズ指定してるときにサイズの保存と復元をする方法
このお題で2個より多い時って言われて悩んだ結果です。blog.okazuki.jpサイズを*で指定すれば、GridSplitterは画面のサイズを超えてリサイズされないという特性をもちます。これでOK。じゃぁあとは保存と復元をどうやるかですが、こんな感じでいけます。privatevoid Button_Click(object sender, RoutedEventArgs e) {...
View ArticleTypeScriptでNodeのHello world
簡単なHTTPサーバーを試してみました。HTTPモジュールを読み込んで基本的なHTTPのサーバーをつくる。import * as http from 'http'; var server = http.createServer(); var port = 1337; server.on('request', (req: http.ServerRequest, res:...
View Article