これは、再プレイ(再プレイまたは再プレイ)ボタンを含む私のコンポーネント(反応)です。reactxでreduxを使用して状態を変更します
render() {
const rematchTitle = formattedMessage('App.rematch');
return (
<div className='modal-footer'>
<a className='btn'>{rematchTitle}</a>
</div>
);
}
ユーザーが(再び再戦プレイ)ことをクリックしたとき、私はそれにクリックイベントを与えたいbutton.And私は(私は、ユーザーがそのボタンをクリックすると、準備に状態を変更する)準備状態をトリガーするボタン。以前の開発者は準備完了状態を開発していたため、非常にうまく動作しました(準備完了状態には減速、アクションがあります)。
このボタンにonclickイベントを与えようとしましたが、this.propsは動作しません。ここでバインドしたり、this.propsを設定したりできますか?名前再取得として新しいアクションを追加する必要がありますか? this.propsを設定しますか?動作していますか?減速機ですか?ここ
const { onPlayAgain } = this.props;
let PlayAgain = '';
const rematchlabel = <FormattedMessage message="app.rematch"/>;
PlayAgainButton = (
<a onClick={onPlayAgain } className={buttonStyleClassColored(colorBlue)}> {rematchlabel}</a>
);
はreact-redux
ライブラリは、この機能を追加することが容易になり、私のコンポーネントのコード
import $ from 'jquery';
import React from 'react';
import { FormattedMessage } from 'util/IntlComponents';
import OkeyMatchResult from './OkeyMatchResult';
import { RoomState } from 'constants/AppConstants';
function formattedMessage(message) {
return <FormattedMessage message={message}/>;
}
class OkeyMatchResultDialog extends React.Component {
componentWillReceiveProps(nextProps) {
const currentRoomState = this.props.roomState;
const nextRoomState = nextProps.roomState;
if (currentRoomState === RoomState.PLAYING
&& nextRoomState === RoomState.END) {
$('#matchResultModal').openModal({
opacity: 0.5
});
}
}
render() {
const matchEndTitle = formattedMessage('room_title.match_end');
const rematchTitle = formattedMessage('room_title.rematch');
const backToLobbyTitle = formattedMessage('room_title.back_tolobby');
const { matchResult } = this.props;
let PlayAgainButton = '';
PlayAgainButton = (
<a onClick={alert('slm')} > {rematchTitle}</a>
);
return (
<div id='matchResultModal'
className='matchresult-modal modal modal-fixed-footer'>
<div className='modal-content'>
<h4 className='center'>{matchEndTitle}</h4>
<OkeyMatchResult matchResult={matchResult}/>
</div>
<div className='modal-footer'>
<a className='btn side-by-side'>{backToLobbyTitle}</a>
<a className='btn'>{PlayAgainButton}</a>
<a className='btn'>{rematchTitle}</a>
</div>
</div>
);
}
}
export default OkeyMatchResultDialog;
はあなたの完全なコンポーネントを投稿してもらえますか? – Austio
@Austio @Austio私は質問を編集し、完全なコンポーネントコードを追加しました。私は再びプレイを追加したいと思います。ユーザーがそのボタンをクリックすると、準備ができているアクションまたは準備完了レデューサー(準備が整っているので非常にうまく動作します)。ユーザーはゲームを開始する準備ができています。このコンポーネントはゲーム終了後に動作します。ユーザーポイントを表示して、もう一度プレイします。 – user1688401
どのようにこれをレビュックスに接続していますか? – Austio