Jon*_*n R 4 reactjs styled-components
我有一个看起来像这样的应用程序
class App extends Component {
state = {
config: {}
};
submitForm(formData) {
this.setState({
config: newConfig(formData)
});
}
render() {
return (
<div className="App">
<Form submit={formData => this.submitForm(formData)} />
<Body config={this.state.config} />
</div>
);
}
}
function Form(props) {
const QueryBox = styled.div`
background-color: #1080f2;
padding: 1em;
`;
return (
<QueryBox>
<MyForm submit={props.submit} />
</QueryBox>
);
}
class MyForm extends React.Component {
...
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题是样式化的 div 导致 MyForm 组件在组件的每次状态更改时重新呈现App
。
这是为什么。这是预期的行为吗(这会使样式组件对我来说无法使用)。有没有办法改变它?
您QueryBox
将成为每次渲染的全新组件Form
。将其移到外面Form
,它将按预期工作。
const QueryBox = styled.div`
background-color: #1080f2;
padding: 1em;
`;
function Form(props) {
return (
<QueryBox>
<MyForm submit={props.submit} />
</QueryBox>
);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1715 次 |
最近记录: |