私は非常に新しいです還元し、私は基本的なロックペーパーはさみのアプリケーションを作成しました。しかし、私はどのように関数を渡すか分からない。ユーザーインターフェイスは以下の通りです:還元機能を送信
let App = ({humanScore,computerScore,userWinsGame,computerWinsGame}) => {
return (
<div>
Human:{humanScore}
Computer: {computerScore}
<br/>
<button value='Rock' onClick={(e) => userChoice(e.target.value)} >Rock</button>
<button value='Paper' onClick={(e) => userChoice(e.target.value)} >Paper</button>
<button value='Scissors' onClick={(e) => userChoice(e.target.value)} >Scissors</button>
<button onClick={() => userWinsGame()} >UserWins</button>
<button onClick={() => computerWinsGame()} >ComputerWins</button>
</div>
);
};
userChoice機能は次のようになります。
let userChoice = (userInput) => {
var computerInput = computerChoice();
console.log("TEST" + userInput);
if (
(userInput == 'Rock' && computerInput == 'Scissors')||
(userInput == 'Paper' && computerInput == 'Rock') ||
(userInput == 'Scissors' && computerInput == 'Paper')
) {
{comWins};
console.log('User chose ' + userInput + 'Computer chose ' + computerInput);
} else {
console.log('User chose ' + userInput + 'Computer chose ' + computerInput);
}
}
とアプリのコンテナは、このようなものです:
let AppContainer = connect(
state => ({
humanScore: state.getIn(['data', 'users','human']),
computerScore: state.getIn(['data', 'users','computer'])
}),
dispatch => ({
comWins:() => dispatch(computerWins()),
userWinsGame:() => dispatch(userWins()),
computerWinsGame:() => dispatch(computerWins())
})
)(App);
しかし、私はメッセージを得続ける「comWins 'は定義されていないno-undefです。申し訳ありませんが、記述が貧弱ですが、どんな助けでも大歓迎です!
減速は以下の通りです:
const initialState = fromJS({
users: {
human: 0,
computer: 0
}
});
const dataReducer = handleActions({
[actionTypes.USER_WINS]: (state) =>
state.setIn(['users','human'],
state.getIn(['users','human'])+1),
[actionTypes.COMPUTER_WINS]: (state) =>
state.setIn(['users','computer'],state.getIn(['users','computer'])+1),
},
initialState);
私のアクション・ファイルがこれです:
const actionTypes = mirrorKeyValue([
'USER_WINS',
'COMPUTER_WINS'
]);アプリ
let App = ({humanScore,computerScore,userWinsGame,computerWinsGame}) => {
しかし、それはまた、あなたが通過せずに{props.comWins()}
としてそれを呼び出すことができますnot defined error
を与えている理由です{comWins};
を使用しようとしてcomWins
を渡していません
const {
userWins,
computerWins,
} = createActions({
[actionTypes.USER_WINS]:() => ({}),
[actionTypes.COMPUTER_WINS]:() => ({})
});
export {actionTypes,
userWins,
computerWins}
還元剤はありますか?それを私たちに見せてもらえますか?それはゲームの勝者を決定し、それに応じて状態を更新する論理を持つ減速機でなければなりません。また、{{comWins} 'は奇妙な表現であると思われ、それが未定義になっています。 –
私は今それを追加しました!ありがとうございました! – Nespony