【发布时间】:2018-09-29 08:16:18
【问题描述】:
我只是从反应开始。我已经看到大多数状态都由简单的数据组成,例如对象、字符串、数字等……我希望能够使用无渲染类来保存和控制这样的状态:
import React, { Component } from 'react';
import HumanPlayer from "./players/HumanPlayer";
import Money from "./Money";
import ComputerPlayer from "./players/ComputerPlayer";
import Deck from "./cards/Deck";
import HumanBoard from "./views/PlayerBoard";
import Score from "./views/Score";
import ComputerBoard from "./views/ComputerBoard";
import Controls from "./views/Controls";
class BlackJack extends Component {
constructor(props) {
super(props);
const human = new HumanPlayer({
money: new Money({
currency: Money.USD,
amount: 100
})
});
super(human);
const computer = new ComputerPlayer;
this.state = {
human: human,
computer: computer,
deck: new Deck
};
}
render() {
const me = this;
return (
<div className="BlackJack">
BlackJack
<HumanBoard player={me.state.human}/>
<Score money={me.state.human.getTotal()}/>
<ComputerBoard player={me.state.computer}/>
<Controls/>
</div>
);
}
}
export default BlackJack;
有没有好的方法可以做到这一点,或者这更像是一种反模式?
【问题讨论】:
-
什么是“无渲染”?你指的是容器组件吗?由类实例组成的状态的问题在于它可能无法(反)序列化。这可能会在将来导致架构问题。该问题没有解释这些类是什么以及为什么需要它们。
-
this post 可以帮到你。
-
请问构造函数中
super(human)的目的是什么?
标签: reactjs web rendering state