【问题标题】:I don't know why remove the html code in react我不知道为什么要删除反应中的html代码
【发布时间】:2019-09-19 19:08:12
【问题描述】:

布局.js

class Layout extends React.Component {
  render() {
    return (
        <nav aria-label="breadcrumb">
          <ol class="breadcrumb" style={{margin: 0}}>
            <li class="breadcrumb-item"><a href="/movies">영화</a></li>
            <li class="breadcrumb-item"><a href="/showtimes">예매</a></li>
            <li class="ml-auto">
            </li>
          </ol>
        </nav>
        <script src="/static/js/sign_url.js"></script>
    );
  }
}

sign_url.js

if(getCookie("logged_in")=="true") {
  $(".breadcrumb > .ml-auto").html('<a href="/signout">signout</a>');
} else {
  $(".breadcrumb > .ml-auto").html('<div><a href="/signup">signup</a>&nbsp;/&nbsp;<a href="/signin">signin</a></div>');
}

重新加载 -> 出现 -> 消失

不知道为什么要去掉react中的html代码。

【问题讨论】:

    标签: jquery reactjs next.js


    【解决方案1】:

    在渲染组件之前添加 componentDidMoun。像这样:

     componentDidMount() {
        const script = document.createElement("script");
    
        script.src = "/static/js/sign_url.js";
        script.async = true;
    
        document.body.appendChild(script);
      }
    

    【讨论】:

      【解决方案2】:

      为什么不像往常一样决定是否在组件中显示 signup/signinsignout 链接?:

      class Layout extends React.Component {
        render() {
          const loggedIn = getCookie('logged_in') == 'true'
          return (
            <nav ...>
              <ol ...>
                ...
                <li className='ml-auto'>
                  {loggedIn ? 
                    <a href='/signout'>signout</a> : 
                    <div>
                      <a href='/signup'>signup</a>
                      <a href='/signin'>signin</a>
                    </div<
                  }
                </li>
              </ol>
            </nav>
          )
        }
      }
      
      
      

      【讨论】:

      • 我可以使用universal-cookie但没有用。
      • 这太糟糕了,因为这比注入&lt;script&gt; 更干净。尝试使用 React 组件中的getCookie() 时是否出错?
      • 据我所知 getCookie() 不支持来自 react 的命令。
      • 这个getCookie()是在哪里定义的?
      • @gureuso 我只是认为如果它在其他地方工作,它也应该在 React 组件中工作
      猜你喜欢
      • 1970-01-01
      • 2019-05-21
      • 2015-05-05
      • 1970-01-01
      • 2020-09-19
      • 2014-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多