反应传递一个类对象作为道具

Tzo*_*Noy 5 javascript reactjs react-redux

我知道您可以轻松地在 react props 中传递普通对象和数组。

但我的问题是是否也可以传递类对象?

我的意思是,我有这门课:

class Something {
    constructor() {//data}
    method() {...}
    etc...
}
Run Code Online (Sandbox Code Playgroud)

现在我想将该对象作为道具传递:

let sm1 = new Something();
<Component item={sm1} />
Run Code Online (Sandbox Code Playgroud)

如果您想知道为什么仅仅是因为我有大量的特定规则,我可以轻松地在该类中使用这些规则。

Shu*_*tri 5

A在 JavaScript 中class是 an object,无论你传递一个类、一个对象还是一个数组,都没有什么区别。您可以传递类实例而不会产生任何副作用。就像将函数作为 prop 传递一样

let sm1 = new Something();
<Component item={sm1} />
Run Code Online (Sandbox Code Playgroud)

会类似于

<Component handleChange={this.handleChange} />
Run Code Online (Sandbox Code Playgroud)

  • 那么渲染呢?即使实例相同,反应也能检测到类内部的变化吗? (3认同)