【发布时间】:2020-06-06 20:59:27
【问题描述】:
我有 index.js 文件,我在其中渲染了 App 组件。
Index.js 文件
ReactDOM.render(<App />, document.getElementById('root'));
下面是我有 SettingContainer 组件的 SettingContainer.js 文件的代码。我有一个点击它的按钮,我需要重新渲染<SettingContainer value="10" /> 但它不能用defaultvalues 渲染。
SettingContainer.js 文件:
import React from 'react';
const SettingContainer = (props) => {
const [state, setState] = React.useState({
currentValue: props.value
});
const handleChange = (event) => {
setState({ currentValue: event.target.value });
};
return (
<React.Fragment>
<input type='text' value={state.currentValue} onChange={handleChange} />
</React.Fragment>
)
};
export default SettingContainer;
下面是App.js 文件的代码,我有App 组件。
App.js 文件
const handleClick = () => {
ReactDOM.render(<SettingContainer value="10" />, document.getElementById('divHello'));
};
const App = () => {
return (
<>
<div id="divHello">
<SettingContainer value="10" />
</div>
<button onClick={handleClick}>Button</button>
</>
);
};
export default App;
【问题讨论】:
-
你到底想完成什么?
-
我需要在单击该组件外部的按钮时使用 defaultValues 重新渲染 settingContainer..
-
也许使用 Redux ?
-
不,亲爱的@DominikMatis,请不要,Redux 很好,但不适用于这种微小的情况。它可能有一个上限状态。
-
好吧,我不认为你应该分别渲染两个组件......都应该在App中
标签: javascript reactjs components react-component