如何創建一個reactjs組件,該組件將使用另一個組件渲染道具數據。例如 我有一句話說「你好,這是{{name}},你好嗎。」現在我想用reactjs組件替換名稱。 當我嘗試用它顯示爲[對象對象]的組件替換名稱。Reactjs如何將反應組件插入到字符串中,然後渲染
首先編輯:
var sentence = "Hello guys this is {{name}}. How are you.";
var tag_values = {'name': 'any Name'}
TagBox將句子和tag_value當道具,並與標籤組件更換標籤。並渲染它
var TagBox = React.createClass({
render: function(){
// replacing the tags with Tag component
this.props.sentence = this.props.sentence.replace(tags_values['name'], <Tag \>)
return(
<div>
{this.props.sentence} //Issue: This will Print as "Hello guys this is [Object Object]. How are you."
// But this should print as "This will Print as Hello guys this is any Name. How are you."
// After clicking on "any Name" it should be replaced with input.
</div>
);
}
})
標籤組件將雙擊代替帶有輸入框的標籤。並再次用輸入框中的數據替換輸入框。 這可以使用狀態來完成。
var Tag = React.createClass({})
你能給一些示例代碼?我不明白爲什麼你需要一個React組件來處理字符串。 –
我正在創建一個頁面,向用戶提供一個句子:「你好,這是{{name}},你好嗎?」現在,當用戶點擊姓名時,他/她將會在輸入姓名時得到一個輸入框來輸入姓名,而不是{{姓名}}。現在爲每個這樣的標籤創建標籤組件,它將被tagBox組件添加到句子中。而且這個句子的字符串可以每次都是 –
哦,我看,這是一個更好的描述。你能給你的問題添加一些示例代碼,以便有人可以幫忙嗎?要點:輸入框的值應該存儲在'state'的某個地方,當隱藏''時,它應該被替換爲'state'中存儲的值。 –