私は今、ReactとReduxの学習を始めました。しかし私は私のGoogleの引用を空にして、私を助けるものを見つけることができません。React Component:Foundation Modal(Reveal)が開かない
私はReact、Redux、and Foundation 6のサイトで働いています。私のReactコンポーネントの1つにリンクがあり、クリックするとそのリンクに対して特定の警告を持つModalが開きます。
ComponentModal.js:
import React, { PropTypes } from 'react';
const Modal =() => (
<div className="reveal" id="exampleModal1" data-reveal>
<h1>Awesome. I Have It.</h1>
</div>
);
export default Modal;
リンクを持つコンポーネントは、いくつかのものをレンダリングしますが、基本的に
<a data-open="exampleModal1">Click me for a modal</a>
タグがレンダリングされます。
ページを調べると、モーダルのマークアップが存在することが確認されますが、リンクをクリックすると何も起こりません。
ポップアップをコンポーネントからDOMに移動すると、リンクが機能します。
ComponentModalがレンダリングされたときに手動で$(document).foundation();
を実行すると、意図したとおりにポップアップが動作するとの試行錯誤があります。
1.私のComponentModalがレンダリングされたとき、Reduxで$(document).foundation();
をどのように実行するのですか?たぶん私は間違っていますが、私はcomponentDidMount()
メソッドを利用することはできません。その呼び出しを行うのが理にかなっていますか? 2.これは間違っていますか?
が、それはあまりにも馬鹿すぎて混乱していない問題ではありません願っています:)
私はjQueryのファンではありませんが、私はFoundationが好きです。私のページは1ページの反応するアプリケーションではないので、ページのより静的な部分のいくつかの要素をスタイリングするためにFoundationが使用されます。私はそれを変えたくないのです。しかし、私はモーダル部分の代替案を探すべきかもしれません。 しかし、私のREDUXの質問はまだ立っています - 利用可能なcomponentDidMountメソッドは、適切な場所ですか?同僚はちょうどそれが私に言った、と私はそれを使用する必要がありますので、私はそれを試してみましょう。 –
いいえ 'componentDidMount'は*ではありません* reduxからです!反応の部分! https://facebook.github.io/react/docs/component-specs.html –
モダールを関数ではなくコンポーネントに変更する必要があります。はい、あなたは 'componentDidMount'に反応するアクセス権を持っています –