###前提・実現したいこと
React(Reduxなし)でアプリケーションを作っています。
Reactの子コンポーネントが持つ関数を、親コンポーネントのイベントを契機として呼び出したいです。
###発生している問題・エラーメッセージ
実現方法がわかりません。どのようにすれば良いのか教えてください。
###該当のソースコード
イメージとしては、下記のChildコンポーネント内の関数ineternal
をParentコンポーネントのイベントを契機として呼び出したいです。
internal
は親から渡された関数を呼び出し、stateを更新します。internal
はstateを更新するため、Childコンポーネントのrenderから呼んではいけないとの認識です。
class Parent extends React.components { update (e) => { this.setState({s: e}); } render () => <div><Child handler={(e) => this.update(e);} param={this.state.s} /></div>; } class Child extends React.components { private _a = new extLibrary(); internal () => { /* do something */ this.props.handler(_a); } render () => <div /> }
###試したこと
子コンポーネントにref属性(ref="child"など)をもたせて,this.refs.child.internal()
と試しました。this.refs.child
のオブジェクトは取得できましたが、internalプロパティがありませんでした。また、refの利用はあまり推奨されていない?ようなので、別の方法があればそちらを採用したいです。
###補足情報(言語/FW/ツール等のバージョンなど)
Reactのバージョンは15.5.4です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。