【发布时间】:2016-04-06 17:57:31
【问题描述】:
基本上,在加载主页时,会触发一个以 JSON 形式从数据库中获取数据的操作。它分派我的商店接收到的 SUCCESS 并更新对象的状态 posts。当我从商店console.log() 时,我看到数据确实已收到。但是,我的组件没有获取该数据。
这是我的组件代码:
import React from 'react';
import connectToStores from 'fluxible-addons-react/connectToStores';
import PostStore from '../stores/PostStore';
class Home extends React.Component {
render() {
return (
<div>
<h2>Home</h2>
<div></div>
</div>
);
}
}
Home = connectToStores(Home, [PostStore], (context, props) => ({
posts : context.getStore(PostStore).getPosts()
}))
export default Home;
我在 React 开发者工具的 props 中没有看到帖子数据。
这是商店:
import BaseStore from 'fluxible/addons/BaseStore';
class PostStore extends BaseStore {
constructor(dispatcher) {
super(dispatcher);
this.posts = null;
}
handleGetPostsSuccess(payload) {
this.posts = payload;
console.log("from PostStore",this.posts);
this.emitChange();
}
getPosts() {
return this.posts;
}
//send state to client
dehydrate() {
return {
posts : this.posts
}
}
//server state
rehydrate(state) {
this.posts = state.posts;
}
}
PostStore.storeName = 'PostStore';
PostStore.handlers = {
'GET_POSTS_SUCCESS' : 'handleGetPostsSuccess'
};
export default PostStore;
有人可以帮帮我吗?
谢谢
【问题讨论】:
-
触发操作的地点和时间?
标签: javascript reactjs flux fluxible