小编Jem*_*nes的帖子

在redux thunk dispatch之后从商店返回承诺

//为了清晰而编辑

我正在尝试用redux thunk链接调度

function simple_action(){
  return {type: "SIMPLE_ACTION"}
}

export function async_action(){
  return function(dispatch, getState){
    return dispatch(simple_action).then(()=>{...});
  }
}
Run Code Online (Sandbox Code Playgroud)

如何让调度从商店返回承诺?

进一步来说:

我可能只是在这里不了解一些东西,但是在所有的例子中redux-thunk,它们都会调用一个单独的异步事件(如fetch),这显然会返回一个Promise.

我特别想要的是当我向商店发送一个动作时:如何确保商店在上述功能发生任何其他事件之前完全处理了该动作action_creator().

理想情况下,我希望商店能够返回某种承诺,但我不明白这是怎么回事?

javascript redux redux-thunk

41
推荐指数
3
解决办法
4万
查看次数

如何在没有ReactDOM的情况下检测React组件的溢出?

基本上我希望能够检测反应组件是否有溢出的子项.就像在这个问题中一样.我发现使用ReactDOM可以做同样的事情,但我不能/不应该使用ReactDOM.我没有看到建议的替代方案ref,这是等效的.

所以我需要知道的是,在这些条件下是否有可能检测到反应组分内的溢出.同样,是否可以检测宽度?

javascript reactjs

3
推荐指数
5
解决办法
1万
查看次数

确保泛型类型在 Typescript 中只有原始属性

我有一个采用泛型类型的函数,我需要确保该类型是 JSON 可序列化的(也就是原始属性)。

我对此的尝试是为 JSON 兼容类型定义一个接口,并强制我的泛型扩展此类型:

type JSONPrimitive = string | number | boolean | null
interface JSONObject {
  [prop: string]: JSONPrimitive | JSONPrimitive[] | JSONObject | JSONObject[]
}
export type JSONable = JSONObject | JSONPrimitive | JSONObject[] | JSONPrimitive[]

function myFunc<T extends JSONable>(thing: T): T {
  ...
}

// Elsewhere

// I know that if this was defined as a `type` rather than
// an `interface` this would all work, but i need a method
// that works with …
Run Code Online (Sandbox Code Playgroud)

typescript

3
推荐指数
1
解决办法
836
查看次数

通用数字的算术

因此,我必须接受泛型类型 T,它将作为数字基元之一的包装类,并用它进行一些算术运算。我认为这会很简单,因为自动装箱和拆箱:

T newval = val1*val2;
Run Code Online (Sandbox Code Playgroud)

(其中 val1 和 val2 已经是 T 类型的变量,其中包含适当的值。)

但事实证明,如果 Java 在编译时不明确知道类型,则它不会拆箱值。我还认为我可以使用每个 Number 子类(我打算使用)中的乘法方法。所以我用以下方式声明了我的课程:

public class SomeClass<T extends Number> {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

进而:

T newval = val1.multiiply(val2);
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为我猜并不是所有 Number 的子类都需要(为什么他们不为此使用接口?)来拥有该方法(但我想使用 DO 的所有子类。)

我见过一些类似的问题,但它们都导致OP被告知不要使用泛型,但我需要在我正在做的工作中使用泛型,否则整个事情就没有价值了。有人能想到一个对我有用的解决方案吗?

编辑: 好的,所以他回复我并澄清了意思,它足够不同,我的问题不再与我正在做的事情相关。多谢你们。

java generics

0
推荐指数
1
解决办法
547
查看次数

标签 统计

javascript ×2

generics ×1

java ×1

reactjs ×1

redux ×1

redux-thunk ×1

typescript ×1