我不确定如何从中获取值

<FormattedMessage {...messages.placeholderIntlText} />

转换为类似输入的占位符格式:

<input placeholder={<FormattedMessage {...messages.placeholderIntlText} />} />

因为它会在实际占位符中返回[Object].有没有办法得到实际的正确值?

推荐答案

react-intl中的<Formatted... />个React组件用于呈现场景,而不是用于占位符、替代文本等.它们呈现HTML,而不是纯文本,这在场景中没有用处.

相反,react-intllower level API提供了完全相同的理由.渲染组件本身在后台使用该API将值格式化为HTML.您的场景可能需要使用较低级别的formatMessage(...) API.

您应该使用injectIntl HOC将intl对象注入组件,然后通过API格式化消息.

例子:

import React from 'react';
import { injectIntl, intlShape } from 'react-intl';

const ChildComponent = ({ intl }) => {
  const placeholder = intl.formatMessage({id: 'messageId'});
  return(
     <input placeholder={placeholder} />
  );
}

ChildComponent.propTypes = {
  intl: intlShape.isRequired
}

export default injectIntl(ChildComponent);

请注意,我在这里使用了一些ES6功能,因此请根据您的设置进行调整.

Reactjs相关问答推荐

Firebase删除UserWithEmail AndPassword仅创建匿名用户

是否可能有不同的加载器用于路径有查询参数和没有查询参数,或者在React Router 6中添加它们时有条件地跳过一个加载器?

在Reaction中单击时,按钮未按预期工作

如何在重新图表中更改悬停时的条形填充 colored颜色 ?

react 路由GUGUD Use Effect无法通过useNavigate正常工作

react -在选项中 Select 我想要显示和图像.但当我 Select 该选项时,我希望控件仅显示该选项的文本部分

有没有办法将MUI网格元素与Flex-Start对齐?

安装使用环境的BIT组件的依赖项

useRef()的钩子调用无效

列表中的每个子项都应该有一个唯一的keyprops .在react 应用程序中

我发送的 prop 的值不会改变.如果成功登录,导航栏中的 prop 必须为 true.我从后端得到 200 ok

拖放 - 将排序保存到数组字段

为 Next.js 应用程序目录中的所有页面添加逻辑的全局文件是什么?

无法使axiosmockadapter正常工作

在遵循 react-navigation 的官方文档时收到警告消息

将外部 JavaScript 导入 React(通过文件)

为嵌套路由配置一个不存在的 url 的重定向

找不到元素 - 这是参考问题吗?

为什么 state redux-toolkit 是代理?

在状态中存储多个选定的选项