美文网首页
2、在实际写代码中遇到的问题

2、在实际写代码中遇到的问题

作者: 自律财富自由 | 来源:发表于2019-04-26 17:11 被阅读0次
    • 在只有多个组件共享某个数据时,才考虑状态提升,不然每个组件内部都应该只有自己的内部状态数据。

    • 引入css文件,直接import css文件路径

    • 加载图片,src={require('图片路径')},并且最好加上alt属性,不然控制台会有警告

    • 在为事件传递参数的时候,
      不要直接这样写: <div onClick={this.handleClick(params)}></div> 这样直接导致直接执行了这个函数,但是react文档上,这里要求传递一个函数,而不是函数结果

    • 组件的划分
      我觉得,如果是某个组件的子组件,文件目录放置最后也是父子层级的关系;但是如果是所有组件公用的组件就放置在最外层,这样方便看出组件之间的关系

    • 在使用map方法生成列表的时候,
      一开始是这样写的:

            <ul className='orderNav__box'>
              {
                this.props.navlists.map((item, index) => {
                  <li key={index} 
                          className={this.state.activeIndex === index ? 'li__bottom' : ''} 
                          onClick={this.handleNavClick.bind(this,index)}>
                      {item}
                  </li>
                })
              }
            </ul>
    

    不仔细看,真没发现问题在哪里。
    其实是箭头函数的简写问题
    如果是这样的() => {(li)},请在大括号里面加return, 上面我就是加了打括号,所以应该加上return
    如果是这样的() => (li),就不用加return了。
    所以正确的写法应为:

           <ul className='orderNav__box'>
              {
                this.props.navlists.map((item, index) => {
                  return <li key={index} 
                          className={this.state.activeIndex === index ? 'li__bottom' : ''
                          } onClick={this.handleNavClick.bind(this,index)}>{item}</li>
                })
              }
            </ul>
    

    后期等我写完自己的demo,再来更新实战的代码编写

    (未使用react-router)。

    相关文章

      网友评论

          本文标题:2、在实际写代码中遇到的问题

          本文链接:https://www.haomeiwen.com/subject/wqyqnqtx.html