打开阴影DOM CSS样式操作reactJS?

问题描述

我正在使用AWS Cognito,并尝试操纵组件的影子DOM。我正在使用react并且我不断收到它无法读取null的属性'shadowRoot'的错误。这与主机值无关。

我有一个signIn组件,这就是我导出并尝试修改DOM的方式:

export default () => {
    var host = document.getElementById("shadow-root"); // i've also tried the name of the component (with getElementByTagName)
    var style = document.createElement( 'style' )
     style.innerHTML = '* { background:red; }'
     host.shadowRoot.appendChild( style )
    
    return(
        <SignIn/>
    )
};

这是错误

    TypeError: Cannot read property 'shadowRoot' of undefined
push../src/userAuthentication/SignUp.js.__webpack_exports__.default
src/userAuthentication/SignUp.js:194
  191 | var host = document.getElementsByTagName("amplify-authenticator")[0];
  192 | var style = document.createElement( 'style' )
  193 |  style.innerHTML = '* { background:red; }'
> 194 |  host.shadowRoot.appendChild( style )
      | ^  195 | 
  196 | return(
  197 |     <SignIn/>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)