Skip to content

Instantly share code, notes, and snippets.

Created July 17, 2015 15:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/1944f34703bcb63131d8 to your computer and use it in GitHub Desktop.
Save anonymous/1944f34703bcb63131d8 to your computer and use it in GitHub Desktop.
岡部の自称FRPライブラリ「worldcomponent」がFacebook Reactを正しく使っておらずエラーを起こすことの確認方法
岡部の自称FRPライブラリ「worldcomponent」がFacebook Reactを正しく使っておらずエラーを起こすことの確認方法
1. Chromeで http://kenokabe-techwriting.blogspot.jp/2015/05/react-html-frp.html に行きましょう
2. 下のほうのクリックカウンタまでスクロールしましょう
3. Ctrl+Shift+Iを押してから「Console」タブをクリックしましょう
4. React.unmountComponentAtNode(document.getElementById("mountpoint")); を実行しましょう。
クリックカウンタが消えます(これは正常)
5. var mount = React.render(React.createElement(TopComponent), document.getElementById("mountpoint"));
を実行しましょう。エラーが出て、それ以降は正常に動作しません(本来はちゃんと復活するべき)
原因はまさに岡部が無駄長文ブログで言い訳してるforceUpdateのせい。
なお、仮にforceUpdateのエラーが起きなかったとすると4と5を繰り返すだけでメモリリークが起きるはず。
理由は、クリックカウンターの
componentDidMount: function()
{
var com = this;
___.world = com.props.___clicks
.compute(function(x){com.forceUpdate();});
___.world = ___totalClicks
.compute(function(x){com.forceUpdate();});
},
から呼び出されるworldcomponentの
compute: function(f)
{
var f1 = function()
{
computingF[computingF.length] = f; //push f
value.val = initialVal;
};
return f1;
},
が配列computingFに関数を追加するだけで、決して解放しないから。
そもそも関数型であるはずのユーザ側が、もろに命令的な再描画呼び出しを自分で登録しなきゃいけないって、
FRP以前にGUIライブラリとしてどうなのよ…
@girls-ping-girls
Copy link

プリプリ・カリカリせずに、冷静に、大人の対応で、紳士的に話しましょうよ。なぜ、あなたは作者でもないのに、最初から喧嘩腰なのですか?ここ、説明してみてください。
「正義感」でしょうか。でも、言葉遣いには気を付けましょう。ネチケットが大事。
落ち着いて。作者には到底できないからこそ、あなたにお願いしているのかもしれません。私が、変わってお願いします。やってみてください。

@anonymous10000
Copy link

「正義感」かな。大人の対応、紳士的というおまえのysm-sexっていうふざけたハンドルもムカつくし、慇懃無礼にノコノコ出てきた態度もムカつく。

@MottonRio
Copy link

高圧的な態度の理由が正義感とは随分とチャイルディッシュですね。
あなたの言う正義って、ご自分だけが納得する正義じゃないですか。
とても紳士的とは言えませんね。

@anonymous10001
Copy link

皆様、コメントありがとうございます。どちらが「正義」かは読者が判断すると思いますので、ここで議論されなくても良いかと思います。

@MottonRio
Copy link

どちらが正義なのかは軽々しくは申せませんが、私はanomymous10001さんの指摘が正しいと思いますし、何より丁寧ですね。
正しさって「罵声の大きさ」で決まるものではありませんから。

@MottonRio
Copy link

どちらが正義なのかは軽々しくは申せませんが、私はanomymous10001さんの指摘が正しいと思いますし、何より丁寧ですね。
正しさって「罵声の大きさ」で決まるものではありませんから。

@anonymous10000
Copy link

おいこら糞素人

@girls-ping-girls
Copy link

すばらしい解説ありがとう

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment