- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的应用中实现 Redux。所以,我创建了 action、reducer、store 等……现在我必须将状态传递给 reducer 并更改此参数( bool 值)的值。我不知道我做错了什么。单击按钮后会触发 reducer 中的 alert
,但 dialog
不会关闭。知道如何更改 open
的值吗?
Action
export const checkPassword = () => ({
type: "CHECK_PASSWORD"
});
组件
const mapDispatchToProps = dispatch => {
return {
checkPassword: () => dispatch({type: 'CHECK_PASSWORD'})
};}
function mapStateToProps(state, open) {
return {
open: state.open,
};}
class StartDialog extends Component {
constructor(props) {
super(props);
this.state = { open: true };
}
render() {
const actions = [ <FlatButton label="Submit" onClick={this.props.checkPassword} /> ];
return (
<Dialog title="Welcome to the React App!" actions={actions} open={this.state.open} ></Dialog>
);}}
const StartForm = connect(mapStateToProps, mapDispatchToProps)(StartDialog);
export default StartForm;
reducer
import { CHECK_PASSWORD } from "../constants/action-types";
const initialState = {
open: true
};
const checkpasswordReducer = (state = initialState, action) => {
switch (action.type) {
case CHECK_PASSWORD:
alert('action!')
return {...state, open: false};
default:
return state;
}};
export default checkpasswordReducer;
商店
import { createStore } from "redux";
import rootReducer from "../reducers/index";
const store = createStore(
rootReducer,
window.__REDUX_DEVTOOLS_EXTENSION__ &&
window.__REDUX_DEVTOOLS_EXTENSION__()
);
export default store;
reducer index.js
import { combineReducers } from "redux";
import checkpasswordReducer from "./checkpasswordReducer";
export default combineReducers({ checkPassword: checkpasswordReducer
});
最佳答案
open
将处于 props
而不是 state
把你的渲染改成这个
<Dialog title="Welcome to the React App!" actions={actions} open={this.props.open} ></Dialog>
同样在 mapStateToProps
函数中 open
值将在状态对象中,因此您不需要函数中的第二个参数
function mapStateToProps(state) {
return {
open: state.checkPassword.open,
};
}
关于javascript - 还原。将状态值传递给 reducer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48517565/
我有一个帮助程序类,它提供有关登录用户的信息。我想将它作为静态方法并在多个地方使用它(不是 react 组件) 如何访问类模型中的 redux 存储值? 最佳答案 如果您可以在应用程序中管理它,那么使
我正在构建一个简单的 rgba 选择器,它允许用户通过向上箭头和向下箭头键切换各个值。下面是我的代码片段。 class App extends Component { constructor(){
想象一下这段代码: class App extends React.Component { state = { name: "george", counter: 1 };
我正在使用 PHP SDK getLoginUrl() 函数,它可以完美地让用户登录。一旦用户被重定向回我的页面,URL 可以有两种形式,请参见以下链接第 3 小节:http://developers
我正在尝试对我的 ReactJS 组件进行单元测试。基本上它是一个由输入和按钮组成的简单组件。单击按钮时,它会触发一个名为“onSave”的事件,并且仅当 state.textValue 不为空时才会
我试图通过将成员变量保存在 ViewState 中(只有几个小变量)来保留它们,但是我读了一下,我发现在 PreRender 阶段将它们保存到 ViewState 中比 PageLoad 更好? 我可
我正在尝试根据用户的输入更改 div 背景颜色。我想将状态键设置为色调,值为用户输入。然后我想获取该状态并将其注入(inject)另一个名为颜色值的状态键。我希望颜色值是在 chromajs 中使用
研究应该是对数据库的简单调用。选择与当前用户对应的记录,然后根据检索到的数据执行一些代码。但是,当它尝试查询数据库时,它返回“数据转换失败。[ OLE DB 状态值(如果已知)= 2 ]”。有什么想法
我正在运行以下代码 /*Fetchinch Last CustID from custMaster*/ int ID = 0; try { con.Open(); da = new
我是一名优秀的程序员,十分优秀!