Reactjs RSuite错误消息使用RSuite架构进行转换。nextjsi18n
我在RSuite和schema错误处理方面遇到了一个小问题。现在我不能从模式中转换错误消息,因为模式是在组件外部编写的,所以我不能使用钩子。是否可以在组件外部翻译错误消息Reactjs RSuite错误消息使用RSuite架构进行转换。nextjsi18n,reactjs,next.js,i18next,react-i18next,rsuite,Reactjs,Next.js,I18next,React I18next,Rsuite,我在RSuite和schema错误处理方面遇到了一个小问题。现在我不能从模式中转换错误消息,因为模式是在组件外部编写的,所以我不能使用钩子。是否可以在组件外部翻译错误消息 const { StringType, DateType } = Schema.Types; const model = Schema.Model({ username: StringType().isRequired('FORM.ERR.REQUIRED'), password: StringType
const { StringType, DateType } = Schema.Types;
const model = Schema.Model({
username: StringType().isRequired('FORM.ERR.REQUIRED'),
password: StringType().isRequired('FORM.ERR.REQUIRED')
});
export default function login() {
const [formValue, setFormValue] = useState();
const { t } = useTranslation()
const form = useRef();
const formSubmit = () => {
if (form.current.check()) {
console.log(formValue);
}
}
return (
<section className="LOGIN">
<div className="LOGIN__container">
<Form
className="LOGIN__container-form"
model={model}
onChange={formValue => setFormValue(formValue)}
onSubmit={() => formSubmit()}
ref={form}>
<FormGroup>
<FormGroup>
<FormControl placeholder="Username" name="username" style={{width: '100%'}} />
</FormGroup>
<FormGroup>
<FormControl placeholder="Password" name="password" type="password" style={{width: '100%'}} />
</FormGroup>
</FormGroup>
<ButtonToolbar>
<Button appearance="primary" type="submit">
{t('COMMON.SUBMIT')}
</Button>
</ButtonToolbar>
</Form>
</div>
</section>
)
const{StringType,DateType}=Schema.Types;
const model=Schema.model({
用户名:StringType().isRequired('FORM.ERR.REQUIRED'),
密码:StringType().isRequired('FORM.ERR.REQUIRED')
});
导出默认函数登录(){
const[formValue,setFormValue]=useState();
const{t}=usetransformation()
const form=useRef();
const formSubmit=()=>{
if(form.current.check()){
console.log(formValue);
}
}
返回(
setFormValue(formValue)}
onSubmit={()=>formSubmit()}
ref={form}>
{t('COMMON.SUBMIT')}
)
}
这就是整个组件当然可以,但不能使用挂钩,例如,我使用React-intl
import { FormattedMessage } from 'react-intl';
export const formatMessage = (id: string, values: BaseObject = {}): any => {
return <FormattedMessage id={id} values={values} />;
};
const model = Schema.Model({
username: StringType().isRequired(formatMessage('FORM.ERR.REQUIRED')),
password: StringType().isRequired(formatMessage('FORM.ERR.REQUIRED'))
});