私はChatManager
というコンポーネントを持つReactのMeteorアプリケーションを持っています。このコンポーネントは、chatrooms
コレクションを公開するために私のchatrooms.js
APIをインポートします。 EditChatRoom
コンポーネントとChatRoomRecord
コンポーネントもインポートされます。React + Meteor + Bootstrapモーダル管理データ
は、基本的には、ここで関連するコードのファイル構造の概要です:
-imports
-api
-chatrooms.js
-ui
-chatmanager
-ChatRoomRecord.jsx
-EditChatRoom.jsx
ChatManager.jsx
私ChatRoomRecord
コンポーネントは、クリックしてchatroom
小道具をログに成功した作品onClick
機能を持っています。
マイEditChatRoom
はid="editChatRoomModal"
ChatManager
成分はChatRoomRecord
とEditChatRoom
成分の両方を保持するものであるmodal
あります。
登録した小道具をEditChatRoom
コンポーネントに送信するにはどうすればよいですか?また、副題として、Reactを使用してeditChatRoomModal
をどのように開くことができますか?
大変助かりました!ありがとう!
編集:ここでは情報を追加しました
は私ChatManager
コンポーネントの基本的な表現です:
class ChatManager extends Component {
renderChatRoomRecords() {
return this.props.chatrooms.map((chatroom) => (
<ChatRoomRecord key={chatrooom._id} chatroom={chatroom} />
))
}
render() {
return (
<div>
<EditChatRoom />
<table>
<tbody>
{this.renderChatRoomRecords()}
</tbody>
</table>
</div>
)
}
}
ChatManager.PropTypes = {
chatrooms: PropTypes.array.isRequired
}
export default createContainer(() => {
Meteor.subscribe('chatrooms')
return { chatrooms: ChatRooms.find({}).fetch() }
}, ChatManager)
次に、ここでは私のChatRoomRecord
コンポーネントです:
export class ChatRoomRecord extends Component {
constructor(props) {
super(props)
this.handleClick = this.handleClick.bind(this)
}
handleClick(event) {
event.preventDefault()
console.log("Click registered successfully: " + this.props.chatroom._id)
}
render() {
return (
<tr onClick{this.handleClick}>
{/* This code isn't relevant to the problem */}
</tr>
)
}
}
ChatRoomRecord.PropTypes = {
chatroom: PropTypes.object.isRequired
}
これは偉人の作品マッピングに問題はありません。クリックイベントはクリックを登録した場所で動作し、クリックされたchatroom._id
を示します。私はこのモーダルを開き、私のChatRoomRecord
コンポーネントでクリックされたchatroom
を通過する必要が
export class EditChatRoom extends Component {
render() {
return (
<div className="modal fade" id="editChatRoomModal" tabIndex="-1" role="dialog">
{/* This code isn't relevant to the problem */}
</div>
)
}
}
:
は、ここに私のEditChatRoom
コンポーネントです。
これがこの問題をより詳しく説明してくれることを期待しています。
セッション変数として保存するだけですか?それから、Session.get()でそれをつかみなさい。そうでなければ、還元する。 –
オイー、それはいい考えです、それについて考えることはありませんでした。それは物事のデータ面に役立ちます、今私はモーダルを開くために何をすべきかを理解する必要があります。 –
これは私に、URLパラメータを使ってそれを管理しようとする考えを与えました。だから私はそれらを使用しようとします。 –