【发布时间】:2021-01-08 13:57:25
【问题描述】:
我的 React 组件中有 title 和 message 变量作为本地状态。这个想法是,当组件挂载时,这两个变量要么使用来自 Redux 的 currentPost 对象的各自值进行初始化,要么使用空字符串进行初始化。
const MyComponent = ({ currentPost }) => {
const [title, setTitle] = React.useState(currentPost.title ? currentPost.title : '');
const [message, setMessage] = React.useState(currentPost.message ? currentPost.message : '');
<form>
<div className="form-group">
<input
value={title}
onChange={evt => setTitle(evt.target.value)}
/>
</div>
<div className="form-group">
<input
value={title}
onChange={evt => setTitle(evt.target.value)}
/>
</div>
</form>
const mapStateToProps = state => ({ currentPost: state.posts.currentPost });
};
上面的代码实际上是一个模式,只要我点击给定帖子的编辑图标就会打开。同时,Redux 状态下为空的 currentPost 对象被选中的帖子填充。然后在上面的 modal 组件中,我从 Redux 状态获取 currentPost。
问题是这两个变量总是得到一个空字符串,即使currentPost 填充了我需要的所有数据。如何使输入字段根据 currentPost 状态显示正确的数据?
【问题讨论】: