【发布时间】:2020-04-17 20:50:05
【问题描述】:
我已经使用 React 构建了一个表单应用程序。我正在使用我认为非常棒的 useState 和 useEffect。为简洁起见,我在下面列出了我想要实现的目标。
import DATA from './data.json'
const [language, setLanguage] = useState('english');
const [firstName, setFirstName] = useState('Bob');
function App() {
const getTranslation = (reference) => {
let dictionary = DATA[language]
return dictionary[reference]
}
return (
<React.Fragment>
<h1>{getTranslation('HowCanWeHelp')}</h1>
</React.Fragment>
);
}
我正在尝试构建自己的简单语言翻译机制,从 JSON 文件中提取字符串。
返回的数据
DATA['english'][HowCanWeHelp]
是{firstName}, How can we help you?。
返回什么
{firstName}, How can we help you?
预期结果
Bob, How can we help you?
我不确定这是否可能,但我可以在 JSX 中重新渲染 JSX 吗?我尝试使用React.Fragment 标签包装,使用dangerouslySetInnerHTML 并尝试使用React.createElement 碰碰运气。非常感谢您指出正确的方向。
我已阅读以下 stackoverflow 问题,但答案对我来说意义不大。
Return and Render JSX How to render (print) JSX as String? Render string as JSX in React.js
【问题讨论】:
-
非常感谢@Agney 修复代码格式。我努力让它接受我所拥有的。