React-ReactDOM.render到一个div,稍后加载

时间:2019-03-09 09:23:58

标签: angularjs reactjs react-dom

我正在尝试在我的angularjs应用程序中使用React。

使用类似的内容:

 ReactDOM.render(
  <Component prop={prop} />,
  document.getElementById("react-root")
);

如果将"react-root" div直接添加到index.html中的DOM中,效果很好,

但是如果将div加载到ng-include模板中,则会出现React错误,提示“目标容器不是有效的DOM元素”

我了解这可能是由于div模板在以后加载/异步加载时运行ReactDOM.renderng-inlcude不在DOM中。

我还了解到,这并不是专门的React问题。

我认为仅在DOM中有ReactDOM.render可用后,才需要找到一种调用div的方法。

1 个答案:

答案 0 :(得分:1)

您可以使用MutationObserver

class MyField(models.DecimalField):

    def __init__(self, verbose_name=None, name=None, max_digits=None,
                 decimal_places=None, **kwargs):
        super(MyField, self).__init__(*args, **kwargs)

    def get_raw(self, value):
        return value

    def to_python(self, value):
        if value is None:
            return value
        try:
            return decimal.Decimal(value)
        except decimal.InvalidOperation:
            raise exceptions.ValidationError(
                self.error_messages['invalid'],
                code='invalid',
                params={'value': value},
            )