我正在用React Native编写一个移动应用程序。我有两个js文件,如下所示:
Error.js
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { getTranslate } from 'react-localize-redux';
function mapStateToProps(state) {
return {
t: getTranslate(state.locale)
};
}
export default connect(
mapStateToProps
)(
({ t }) => ({
e001: t('wrong_format'),
e002: t('invalid_email'),
})
);
SignIn.js
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { getTranslate } from 'react-localize-redux';
import { Field, reduxForm } from 'redux-form';
import Error from './Error';
const validate = (values) => {
console.log('error: ', Error);
// Process validate redux-form with messages from Error.js
};
class SignIn extends Component {
// Process login form with redux-form
}
function mapStateToProps(state) {
return {
t: getTranslate(state.locale),
};
}
const SignInForm = {
form: 'SignIn',
validate,
};
export default connect(
mapStateToProps
)(
reduxForm(SignInForm)(
SignIn
)
);
如何在SignIn.js中使用从Error.js导出的数据? (例如,值“ e001”,“ e002”)
来自validate函数的示例(在SignIn.js中),我想显示Error.js中代码“ e001”的值。
更详细地讲,我的想法是将语言文件中的所有错误消息(使用react-localize-redux)收集到Error.js中,然后从redux-form的validate函数中,我可以更轻松地显示这些消息。
答案 0 :(得分:0)
您似乎想this.mSoundPool.setAudioAttributes(new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_MEDIA)
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.build());
作为帮助文件。但是您将其实现为react-redux容器。
如果将其实现为react-redux容器,则每次存储发生变化时,它每次都会调用。
相反,只需导出即可。
Error.js
一次导入就称为
import { getTranslate } from 'react-localize-redux';
const format = ({
e001: getTranslate('wrong_format'),
e002: getTranslate('invalid_email'),
})
export default format;