phpでのコールバックの渡し方
javascriptが自由過ぎて、
phpでコールバック渡すのどうするんだ。。ってなったので
メモ
<?php class A{ public function call(){ echo 'A!!!!'; } } function B($callback){ $callback(); } $a = new A(); B(array($a, 'call')); /// A!!!! ?>
ここに色々のってる
php.net
es-lint-react の 「react/no-access-state-in-setstate」
setStateの中でthis.stateを参照しようとしたら怒られた話。
function increment() { this.setState({value: this.state.value + 1}); }
なんでダメかというと
github.com
setState({value: 1 + 1}) setState({value: 1 + 1})
連続で使用した時に
1+1 = 2 , 2+1 = 3 となってほしい所を、
1+1 =2, 1+1=2 , と古い状態のstateにアクセスしてしまう場合があるらしい。
要するに、前のsetStateが終わっていない状態で、次のsetStateが走ってしまうということ。
function increment() { this.setState(prevState => ({value: prevState.value + 1})); }
そういう時は、setStateメソッドには、コールバックが用意されているので
これを使えば、
setState({value: 1 + 1}) setState({value: 2 + 1})
と、期待通りの挙動になる。
Vue Cli + Vuetify で バドミントンスコアシートを作った
vue.jsの勉強 & ペーパーレスのために
バドミントンスコアシートのwebアプリを作ってみました。
バドミントンやる方は是非使って見てください!
badminton.htmlgo.site github.com
苦戦したのは、Vuexのstore内のstateのデータ構造です。
これは何回も作り直しました。。
正直、もっと効率の良い構造があるはず。
あとはこれはmutationsに書くのか?それともactionsに書くのか?
それともこの処理は外にだして別途モジュール化してimportした方がいいのか?
というところが本当に迷いました。これは数をこなしつつ、色々な人のコードを見て学んでいく必要がありそう。
マテリアルデザインは色々あったんですが、Vuetifyを使用。
マジで色々あって便利です。vue.js専用に作られているので、サクッと導入できます。
やはり、こういうのはユーザーが多いものを使った方が無難な気がします。
vuetifyjs.com
自分はデザインは出来ないのですが、こういうwebアプリを1から自作で全部作るって、
とてもいい勉強だし楽しいですね。
普段の案件では基本的にオーダーされたものを作るのだけど、
機能だったり、使い勝手だったり全部自分で考える、というのは大切だと思いました。
あと、副産物としてこういうアプリは配列の操作の練習になる。普通のwebサイト作るより。
「reduce」「map」「splice」「slice」「forEach」「concat」「スプレッド演算子」この辺をよく使いました。
いい素振りになります。
次は、api連携とコンポーネント周りの練習もしたいので、
また何か作りたいと思います!!