Reactjs RSuite错误消息使用RSuite架构进行转换。nextjsi18n

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

我在RSuite和schema错误处理方面遇到了一个小问题。现在我不能从模式中转换错误消息,因为模式是在组件外部编写的,所以我不能使用钩子。是否可以在组件外部翻译错误消息

    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'))
});