私はコンポーネントを実行する必要がある関数を渡すためにpropsを使用しています。コンポーネントをできるだけダムにしておきます。反応クラスに関数を入れる代わりに。アクセスコンポーネント `this` from container
コンポーネントの状態を更新する必要がありますが、私のprop機能内からsetStateにアクセスする際に問題があります。私の関数がそれにアクセスすることができますので、私は、何かのようにやってみましたが、私はエラーになっておく:
コンポーネント
componentDidMount(){
this.props.loadImage(this.props.src).bind(this);
}
コンテナロードイメージ関数
let loadImage = (src)=>{
console.log('loading Image');
fetch(src).then(function(data) {
console.log('success');
that.setState({'imgUrl':src});
}).catch(function(error) {
console.log('fail');
setTimeout(loadImage(src), 1000);
});
};
エラー:
をcomponent.js:67 Uncaught TypeError: Cannot read property 'bind' of undefined(…)
- なぜこのバインドが未定義であるかop関数?
- 私はこれに間違った方法で近づいていますか?
ありがとう!
'loadImage'とそれが返す見ずに伝えるのは難しいです。それを共有する心ですか? – ZekeDroid
@ZekeDroidそれは多くの支えがあったとは思っていませんでしたが、それを追加しました。 – Justin
今はあなたがその小道具の戻り値をバインドしているからです。つまり、その小道具のように見えるreturn文がない場合、あなたは 'undefined'にバインドしようとしています。 – ZekeDroid