据我所知并纠正我,如果我错了,redux-thunk是一个中间件,它可以帮助我们在动作本身中调度异步函数和调试值,而当我使用redux-promise时,我无法创建异步函数而不实现自己的机制为Action抛出仅调度普通对象的异常.
这两个包之间的主要区别是什么?在单页反应应用中使用这两个包还是坚持使用redux-thunk有什么好处就足够了?
我正在使用 Prisma 和 Next.js。当我尝试从 Prisma 中检索内容时,getStaticProps它确实获取了数据,但我无法将其传递给主要组件。
export const getStaticProps = async () => {
const prisma = new PrismaClient();
const newsLetters = await prisma.newsLetters.findMany();
console.log(newsLetters);
return {
props: {
newsLetters: newsLetters,
},
};
};
Run Code Online (Sandbox Code Playgroud)
正如您在此图中看到的,它正在获取并打印内容。
但是当我通过时,我收到以下错误,将其作为道具传递
Reason: `object` ("[object Date]") cannot be serialized as JSON. Please only return JSON serializable data types.
Run Code Online (Sandbox Code Playgroud) 我有一堆只有数据的"类"(在.NET世界中我们称之为POCO对象),它们没有任何方法甚至构造函数.示例是客户,产品,用户实体,您将其命名为......
最初我开始使用typescript类,但现在我认为将它们声明为接口可能会更好.从性能的角度来看,不仅仅是......在C#中,我们习惯使用不同的接口,而对于"POCO"(普通旧clr对象或"仅数据"对象)我们使用只是一个类(有时甚至是结构).
在TypeScript中声明它们的正确方法是什么?
请注意,我主要理解(我认为)类和接口之间的技术差异(即接口是编译时构造),但我试图找出哪种语义符合这种情况.
PS:我见过类似的问题(比如这个),但是没有一个问题清楚明确地解决这个具体问题,所以请不要将其视为'可能重复'或'基于意见'(因为它不是): )
我正在尝试在我的React / Redux / redux saga应用中实现Pusher的消息传递库Chatkit,而我是Redux的新手。连接到chatkit的代码如下所示:
const chatManager = new ChatManager({
instanceLocator: 'v1:us1:80215247-1df3-4956-8ba8-9744ffd12161',
userId: 'sarah',
tokenProvider: new TokenProvider({ url: 'your.auth.url' })
})
chatManager.connect()
.then(currentUser => {
console.log('Successful connection', currentUser)
})
.catch(err => {
console.log('Error on connection', err)
})
Run Code Online (Sandbox Code Playgroud)
我需要全局存储chatManager和currentUser对象(它们是具有功能的复杂类的实例),以便以后可以再次使用它们来加入房间,订阅事件等。
我最初的想法是我应该将其存储在Redux中,因为它现在是我的“全局存储”,但后来我意识到它可能无法工作,因为它不是我从存储中取出的原始对象,它将大概是一个克隆。然后我读到,显然只有普通对象应该存储在Redux中。
那么,那些不是普通对象但需要全局存储的对象又在哪里呢?我不想将它们放在window对象上,因为我可能会将其转换为React Native应用程序,而且看起来还是很混乱。
javascript ×2
reactjs ×2
redux ×2
next.js ×1
prisma ×1
redux-saga ×1
redux-thunk ×1
serializable ×1
typescript ×1