我将状态从父组件传递到容器以选择要返回的集合,但是当从Create Container返回该对象时,它最初为Null,因此显然我无法访问任何属性。
编辑:忘记提及虽然它最初为null但它会使用“以下值刚刚评估”的信息警报呈现完整对象
我能理解这是否是一个ajax请求,但事实并非如此,我感到难过。
这是代码,任何人都可以启发我吗?
import React, {Component} from 'react';
import {createContainer} from 'meteor/react-meteor-data';
import Scenes from '../imports/collections/scene.js';
import SceneUpdateForm from '../imports/components/scene_update_form6.js';
//parent stateholder
export default class Home extends Component {
constructor() {
super();
this.state = {sceneState: 1};
}
incrementCount() {
this.setState({sceneState: this.state.sceneState + 1});
}
decrementCount() {
this.setState({sceneState: Math.max(1,this.state.sceneState - 1)}) }
render() {
return (
<Container
sceneState={this.state.sceneState}
incClick={this.incrementCount.bind(this)}
decClick={this.decrementCount.bind(this)}
/>
);
}
}
// Child component
function ChildComponent(props){
return (
<div>
<button onClick={props.decClick}> Dec </button>
<button onClick={props.incClick}> Inc </button>
<SceneUpdateForm
scene={props.scene}
/>
</div>
)
}
//container
let Container = createContainer((props) => {
let doc = Scenes.findOne({sheet_no: props.sceneState});
return {
scene: doc ? doc : null
}
}, ChildComponent);