boardCreation: function() {
var board = [];
for (var i = 0; i < 6; i+=1) {
board.push(<Card key={i} onClick={this.onCardFlip} image={this.state.imagesArray[i]} flipped={this.flipped[i]} cardIndex={i} />);
};
return board;
},
getInitialState: function() {
return {
imagesArray: this.shuffledImages(['walle.jpg', 'walle.jpg', 'eve.jpg', 'john.jpg', 'captain2.jpg', 'mary.jpg']),
flipped: [false, false, false, false, false, false],
flippedImages: [],
walleCount: 0,
board: this.boardCreation(),
}
},
该问题是由于在GetInitialState
函数中调用this.boardCreate()
而引起的。因此,初始状态尚未创建,这就是为什么null
。
要解决这个问题,您可以简单地重构代码
boardCreation: function (images, flipped) {
images = images || this.state.images;
flipped = flipped || this.state.flipped;
var self = this;
return images.map(function (image, i) {
return <Card key={i} onClick={self.onCardFlip} image={image} flipped={flipped[i]} cardIndex={i} />;
});
},
getInitialState: function() {
var images = this.shuffledImages(['walle.jpg', 'walle.jpg', 'eve.jpg', 'john.jpg', 'captain2.jpg', 'mary.jpg']);
var flipped = [false, false, false, false, false, false];
return {
imagesArray: images,
flipped: flipped,
flippedImages: [],
walleCount: 0,
board: this.boardCreation(images, flipped),
};
}
我还建议以更面向对象的方式重构代码:您可以有一个card对象,包含image
、flipped
、index
等属性。
2)有没有另一种方法可以重写这个逻辑而不使用道具来设置状态? 父组件: 子组件
我正在使用React-useState创建状态为的对象。在成功调用API后,将更新为数据对象。 我有一个表单可以更改此状态,但我还有一个取消按钮。单击“取消”时,如何将此状态恢复为其初始值(API调用后)? 我应该创建另一个状态变量和存储初始状态在那里,然后更新我的状态基于?
问题内容: 我试图弄清楚如何为redux中的商店设置初始状态。我以https://github.com/reactjs/redux/blob/master/examples/todos- with- undo/reducers/index.js 为例。我试图修改代码,以便待办事项已初始化一个值。 按照文档操作:http : //redux.js.org/docs/api/createStore.h
本文向大家介绍Redux怎样设置初始状态?相关面试题,主要包含被问及Redux怎样设置初始状态?时的应答技巧和注意事项,需要的朋友参考一下 它必须是createStore的第二个参数: const rootReducer = combineReducers({ todos: todos, visibilityFilter: visibilityFilter }); const initialSta
问题内容: 在React组件中,最好是在Constructor()或componentWillMount()中设置初始状态? 要么 问题答案: 使用ES6类时,最好在构造函数中使用,但不要使用API,而是这样做: 另外,如果您有可用的类属性(Bab期1),则可以执行以下操作:
我有两个React组件,即和使用了一些重要的UI组件,但我相信它们与我的问题无关。 在,使用effect调用,该函数解析为一个类别数组,例如,。 我的目标是访问父组件()中复选框的状态(选中或未选中)。我采取了这个问题中建议的方法。(见验证答案) 有趣的是,当我记录