React、VUE、全栈

在职六年多,如何提升自己的综合技术能力,刚开始写过node,后面一直前端VUE方向,目前在渐渐开发起来React相关的项目,要不要再学习后端做个全栈?

你以为会前端后端就算是会全栈了?全栈包含的内容很多,包括市场调研,需求分析,软件设计,ui设计,前端,后端,测试,运维等等

如果你有精力的话,学个后端语言肯定是更好的,因为这样,不管是开发技能还是日后理解整体架构以及业务的思维都会扩展开,这么说吧,如果你只搞前端,那么你对服务器的性能、安全、数据处理,比如并发、事务、消息队列、等具体怎么去处理的,可以说一窍不通,但是如果你有了后端基础后,特别如果是自己动手做过,那么就算你这时候不是做后端的,那么你脑袋里大概也知道是怎么实现的,具体用的技术等。
这里我说的都是对你个人提升的角度。

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7659894
  • 这篇博客也不错, 你可以看下node+react+vue项目-指定域名-部署阿里云(全程记录)
  • 以下回答由chatgpt基于相关博客总结生成:

    针对如何提升综合技术能力,包括 React、VUE 和全栈方向,以下是一些建议和解决方案:

    1. 掌握基础知识:React 和 VUE 作为前端开发中的两大主流框架,首先需要掌握它们的基本原理和使用。可以在官方文档、网上课程和书籍等途径进行学习。

    2. 练手项目经验:练习项目可以更好地掌握框架的使用,同时也可以丰富自己的项目经验。可以在 GitHub 上寻找一些开源的项目,也可以自己动手创建一些简单的项目进行练习。

    3. 学习全栈技术:全栈开发要求掌握完整的开发流程,包括前端、后端、数据库等方面的知识。可以考虑学习 Node.js 以及一些流行的后端框架如 Express 和 Koa。同时也需要了解一些数据库的基本操作,如 MongoDB 和 MySQL 等。

    4. 参加线上学习课程和培训班:可以参加一些线上培训班和课程,如慕课网、网易云课堂等。这些课程涵盖了基础知识、实战项目以及一些前沿技术的讲解,会对提升综合技术能力有很大帮助。

    5. 了解前沿技术:随着互联网技术的不断发展,不断涌现出各种前沿技术,如 React Native、GraphQL 等。了解这些技术可以在未来的工作中给自己提供更多可能性。

    6. 参加技术讨论和交流活动:可以参加一些技术社区、技术论坛和技术交流活动,与同行交流经验和共同提升。

    针对“为什么有时候修改了值,可以打印修改的值,但是页面上不会改变”的问题,主要是因为 Vue 不能检测数组和对象的变化。可以尝试使用以下解决方案:

    1. 对象可以使用$set或者:assign。$set用于添加一个新的属性,:assign将多个对象合并为一个对象,产生一个新的对象。

    2. 数组可以使用:splice,用于修改数组中的元素。

    3. 需要注意的是,在使用以上方法对对象或数组进行操作后,需要再次赋值给原来的变量,才能更新到视图上。

    代码示例:

    // 对象
    this.$set(this.obj, 'key', 'value'); // 添加新的属性
    
    this.obj = Object.assign({}, this.obj, { key: 'value' }); // 合并新的属性
    
    // 数组
    this.list.splice(index, 1, newValue); // 修改数组元素
    

    最后附上一个可以实现双滚动条的示例代码:

    <script>
    export default {
      mounted() {
        const boxUl = document.querySelector(".ul"); // 有滚动条的dom
        const box = document.querySelector("ul"); // 有滚动条里面的长dom
        box.onmousewheel = (e) => {
          const { offsetHeight, scrollTop } = box;
          const { offsetHeight: offsetHeightUl } = boxUl;
          const number = offsetHeight - offsetHeightUl - scrollTop;
          e = e || window.event;
          if (e.wheelDelta) {
            if (e.wheelDelta > 0 && scrollTop > 0) {
              e.preventDefault();
              box.scrollTop -= 20;
            }
            if (e.wheelDelta < 0 && number > 0) {
              e.preventDefault();
              box.scrollTop += 20;
            }
          } else if (e.detail) {
            if (e.detail > 0 && number > 0) {
              e.preventDefault();
              box.scrollTop += 20;
            }
            if (e.detail < 0 && scrollTop > 0) {
              e.preventDefault();
              box.scrollTop -= 20;
            }
          }
        };
      },
    };
    </script>