gpt4 book ai didi

javascript - 具有自定义属性的 React.createClass

转载 作者:行者123 更新时间:2023-12-02 15:17:21 24 4
gpt4 key购买 nike

如何在 React.createClass() 中处理自定义 JavaScript 属性?

这里是示例:

var RouterView = React.createClass({
mixins: [Morearty.Mixin],
isAuthorized: false, // should it be part of state ??
isVerified: false, // should it be part of state ??
bindToAuthorization: function() {
if(/* blah-blah-blah */) {
this.isAuthorized = true;
}
},
render: ...
});

看起来 .isAuthorized.isVerified 在语义上应该像组件的状态一样,但它只是 .createClass() 规范的属性。

.isAuthorized.isVerified 如何运作?它的行为类似于static吗?在 React 的文档中找不到任何有关此内容的信息。

最佳答案

这取决于授权发生的地点。

如果确定授权的逻辑发生在子组件中 - 并且仅在子组件中 - 那么它将处于子组件状态。这意味着 isAuthorizedisVerified 不会是 props,它们将是子组件中的状态。 bindToAuthorization 将由组件本身定义,而不是其父组件。

更有可能的是,您希望授权逻辑位于组件层次结构中的更高位置,或者完全位于组件层次结构之外(如果使用 Flux)。

请记住,低阶组件通常不需要任何状态。父组件可以简单地在不同的 props 中重新渲染它们。这使得您的 bindToAuthorization 变得不必要。父组件不需要将授权逻辑委托(delegate)给子组件;当相关属性发生变化时,它只是重新渲染它。

关于javascript - 具有自定义属性的 React.createClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34342303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com