私は次のエラーを理解していると信じていますが、解決策を完全に理解していません。コンポーネントのrenderメソッドへの参照を追加する必要があります。 addComponentAsRefTo(...)
Uncaught Error: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's
render
method, or you have multiple copies of React loaded
import Modal from 'react-bootstrap-modal';
//import MyCustomObject from './MyCustomObject';
import ReactTelInput from 'react-telephone-input';
...
render(){
return (
<Modal show={this.props.showModal}>
<Modal.Header>
<Modal.Title>This is a heading </Modal.Title>
</Modal.Header>
<Modal.Body>
<ReactTelInput
defaultCountry="us"
flagsImagePath='../../images/flags.png'
onChange={this.handleInputChange}
onBlur={this.handleInputBlur}
/> // was previously <MyCustomObject/>
</Modal.Body>
<Modal.Footer>
<Button onClick={this.props.changeModal}>Close</Button>
</Modal.Footer>
</Modal>
);
}
私understandinngはモーダルMyCustomObjectを認識していないので、それはそれをレンダリングする方法は考えていないということです。では、どうすればこの問題を回避できますか? MyCustomObjectをModalオブジェクトに直接追加する方法はありますか?私の次のアイデアは、独自のモーダルクラスを作成し、反応ブートストラップモーダルを拡張し、この拡張をMyCustomObjectからインポートするだけでしたが、これも機能しませんでした。
私は自分のオブジェクトをreact-bootstrap-modalのようなものの中にどのようにレンダリングできますか?
MyCustomObjectのコードを共有できますか? – elevine
代わりに、私はMyCustomOBjectを別のNPMオブジェクトに変更しました:import ReactTelInput from 'react-telephone-input'(上記参照)。 しかし同じ問題が続きます。 MyCustomObjectはこのモデルの外でどこでも働いていました。 ReactTelInputでも同じです。 – user2589339
"または複数のReactがロードされています。別のアプローチは、依存関係にバージョニングの問題があるかどうかを確認することです。反応が2回読み込まれ、2つの異なるバージョンが同時に読み込まれた場合、これはエラーメッセージである可能性があります。例:以前のバージョンのreactを実行していて、react-boostrap-modal(古いバージョンを実行している可能性があります)を実行している場合。 – thsorens