[英]React render component inside a JSX argument
我有一個翻譯系統,可以根據密鑰返回正確的翻譯。 而這一切都由組件 Translate 處理:
import React from 'react';
const Translate = ({ ln }) => {
return <span>{language[ln]}</span>
};
export default Translate;
問題是,當我嘗試在 a 中使用它時,例如:
<input type="text" placeholder=<Translate ln="text_input" /> />
問題是組件沒有返回 - 當我將它插入<input />
,這意味着我的占位符將始終是 [object Object],有什么辦法可以解決這個問題?
您不能傳遞給placeholder
React 組件,因為要傳遞給placeholder
您應該傳遞String
而不是Object
或contains tags
String
。,我認為在這種情況下,最好將Translate
拆分為耦合函數,並在Translate
組件中使用它,並將其用作一個函數按鍵返回正確的翻譯,就像這樣
const translate = (key) => {
// Some code ...
return language[ln];
}; // returns string
const Translate = ({ ln }) => {
return <span>{ translate(ln) }</span>
}; // return React component
<input
type="text"
placeholder={ translate('some key') } /> // pass string to placeholder
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.