是否有可能做出这样的反应:
binary name = binary.Parse(Console.ReadLine());
当我尝试做类似的事情时,我得到:var App = React.createClass({
getInitialState: function(){
return {
children: [<div/>, <div/>],
comp: ''
};
},
componentWillMount: function(){
this.setState({
comp: <SomeComponent children={this.state.children}/>
});
},
render: function(){
return (
<div>
{this.state.comp === '' ? this.state.children : this.state.comp}
</div>
);
}
});
所以我认为答案是否定的,但我认为必须有某种方式考虑
Uncaught TypeError: Cannot read property '_currentElement' of null
其中<SomeComponent>
<div/>
</SomeComponet>
呈现<SomeCompent/>
,有效。但是在这种特殊情况下,我得到了相同的错误,但是如果你看一下像React-Bootstrap https://react-bootstrap.github.io/这样的东西,它必须是可能的。
答案 0 :(得分:-1)
为什么要将html标签作为状态传递?我不是说不好,但总有一个更好的解决方案。假设一个子组件将状态布尔值true或false传递给父组件(Flux - Action通过子组件传递给存储,父组件可以通过onChange事件获取状态)。有了它,您可以调用父元素来呈现不同的视图。
_onChange: function() {
this.setState(this._getStateFromStores());
},
render: function() {
var view;
if (this.state.childAction) {
view = <SomethingTrue/> ;
}
if (!this.state.childAction) {
view = <SomethingFalse/> ;
}
return (
<div>
{view}
</div>
);