如何解决(React Redux) 整个状态重新启动并删除我添加新项目时所做的所有更改
reducer 是这样的:
import {
CREATE_COUNTRY,} from "../actions/actionConsts"
export const storeInitialState = {
countries: [],otherThings: 0
}
export default function countriesReducer(prevState = storeInitialState,action) {
switch (action.type) {
case CREATE_COUNTRY:
return {
...prevState,countries: [
...prevState.countries,action.country
]
}
default:
return prevState
}
}
动作创建者是
export function createCountryActn(country) {
return {
type: CREATE_COUNTRY,country
}
}
以及触发动作的组件
… … … … …
createTheCountry = (e) => {
e.preventDefault()
this.props.createCountry(this.state.name)
this.setState({
name: '',})
}
… …… … … …
每次添加新商品时,什么会导致商店的状态重新启动?
拉斐尔
解决方法
当时我不知道是什么导致了错误,但后来我发现了。
每次添加新项目时,一切都会重新启动,因为我调用创建新项目的函数的方式会丢失对 e(事件)的引用,所以当我执行时
e.preventDefault()
由于 e 没有正确的值,页面的默认行为实际上正在执行,并且是刷新。
我正在使用类组件,并且我将函数调用为:
onSubmit={this.createTheActivity}
它必须像
onSubmit={(e) => this.createTheActivity(e)}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。