如何将evt.target.value传递到单独的js文件



我正试图将用户输入值发送到我的voucherCheckjs文件,我目前的输入如下:

<input type="text" onKeyPress={(evt) => voucherCheck(sessionId, evt.target.value)}></input>

然后转到我的代码,该代码处理所有道具类型等:

ReviewTab.propTypes = {
session: PropTypes.shape({
date: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
}).isRequired,
consumerName: PropTypes.string.isRequired,
consumerEmail: PropTypes.string.isRequired,
consumerPhonenumber: PropTypes.string.isRequired,
setReviewed: PropTypes.func.isRequired,
voucherCheck: PropTypes.func.isRequired,
};
ReviewTab.contextTypes = {
setTab: PropTypes.func.isRequired,
};
const mapStateToProps = ({
sessionId,
sessions,
consumerName: { value: consumerName },
consumerEmail: { value: consumerEmail },
consumerPhonenumber: { value: consumerPhonenumber },
}) => ({
session: _.find(sessions, ({ id }) => id === sessionId),
consumerName,
consumerEmail,
consumerPhonenumber,
});
const mapDispatchToProps = (dispatch) => ({
setReviewed: setReviewedActionCreator,
voucherCheck: sessionId => dispatch(voucherCheckActionCreator(sessionId))
});
export default connect(mapStateToProps, mapDispatchToProps)(withStyles(s)(ReviewTab));

然而,在这一点上,我对如何将evt.target.value数据传递到其他地方的js文件感到困惑,我可以在js文件中访问sessionId,但不能访问evt值,任何帮助都将不胜感激。

import fetch from '../../../../core/fetch';
export default sessionId => async (dispatch, getState) => {
console.log(sessionId);
console.log(evt.target.value);
};

问题是,在mapDispatchToProps中,您只是将一个参数传递给actionCreator。您可以更改它以接受任意数量的参数,如

voucherCheck: (...args) => dispatch(voucherCheckActionCreator(...args))

然后你可以在像这样的动作创建者中接收它们

export default (sessionId, value) => async (dispatch, getState) => {
console.log(sessionId);
console.log(value);
};

最新更新