2 回答

TA貢獻1784條經(jīng)驗 獲得超8個贊
您需要調(diào)用處理函數(shù)并返回要呈現(xiàn)的 HTML。此外,如果您嘗試更新變量并渲染它,請使用setState基于類的組件或[stateName, stateUpdateMethod] = useState(null)功能組件,然后用于stateUpdateMethod觸發(fā)重新渲染。
import React from "react";
import ReactDOM from "react-dom";
const handler = (text) => <div>{text}</div>
const App = () => handler("I am the text")
const rootElement = document.getElementById("root");
ReactDOM.render(
<App />,
rootElement
);

TA貢獻1779條經(jīng)驗 獲得超6個贊
您使用變量的方式不正確。
我在這里寫了一個類似問題的答案。它顯示了如何更新視圖以及如何聲明變量。
請檢查那里的答案,如果您仍有疑問,請告訴我。
以下是那里答案的簡短摘要:
如果您也想更新視圖(這是您的情況),您應(yīng)該在設(shè)置或更改值時使用 state 和 setState 方法。
例子:
class MyContainer extends Component {
state = { testVarible: "this is a test" };
onMove = () => {
console.log(this.state.testVarible);
this.setState({ testVarible: "new value" });
}
}
話雖如此,我仍然覺得你讓它變得復雜。
你應(yīng)該做的是這個。
state = { text: 'some text' };
const handler = (text) => {
this.setState({ text });
};
雖然 jsx 應(yīng)該有這個:
<div className="other">
<li>
<span className="bold">Other: </span>{this.state.text}
<span className="right">Price Unknown</span>
</li>
</div>
添加回答
舉報