根据我的理解,这里发生的事情是您构建了自己的aws cloudformation describe-stacks --stack-name stackname --query 'Stacks[0].StackStatus' --output text
方法,该方法将呈现render
的html。 h1
调用此render
方法以确定要为虚拟dom提供的内容。 React.DOM
等方法也是如此?如果你放入任何生命周期方法或componentDidMount
,React会相应地调用它们以适应它们的代码,但是如果创建其他函数,那些只是辅助函数,你可以用它来渲染东西,对吧?
我想我只是想了解render
使用Component
类的哪一部分以及我正在构建哪些部分。使用某些方法来配置"似乎很奇怪。该组件,而其他人则用作帮助者。 React.DOM
类中的哪些代码是Component
使用的?是不是想找出什么时候重新渲染东西的差异呢?
React.DOM
答案 0 :(得分:2)
课程内唯一有这种方法的方法是'提供是渲染。正如您所提到的,如果在这些生命周期方法发挥作用时提供,则会调用其他组件生命周期方法。如果您不需要使用其他生命周期方法(组件只返回基于提供给它的道具的一些标记),并且您的组件不需要自己的状态,那么我强烈建议只使用无状态功能组件。 React团队提供的文档很适合解释这个 -
https://facebook.github.io/react/docs/components-and-props.html
至于'助手方法'你提到过,是的,你可以在课堂上定义任意数量的方法。将一些更复杂的渲染逻辑拆分为更易于阅读的更简单的函数以实现代码可读性是很常见的。
答案 1 :(得分:2)
这里需要考虑的事项:很久以前很久以前,React和React-DOM都是同一个。 React仅针对webapps。因此,我们可以使用h1
,div
,span
,img
,所有这些仅使用React。
现在让我问你这个问题。假设他们想要使用React,并使其不仅可以呈现给网页的DOM,还可以呈现本机移动应用程序的不同组件?在那种情况下你会做什么?
显然,所有上述HTML DOM元素,h1
等等都是完全没用的! Android和iOS内部不知道这些是什么。
因此,逻辑解决方案是将其抽象出来。而不是将这些DOM节点作为React的固有部分,而是使React可以在任何地方和任何地方进行渲染!
你知道,React引擎在React Native(移动开发)和基于Web的标准React与React-DOM中的工作方式基本相同。生命周期方法,设计原则,对帐,整个引擎都是一样的。因为React不是关于HTML或本机应用程序,所以它是关于从应用程序状态到UI状态的数据流的范例。
那么,React-DOM对你的组件做了什么?真的,不是很多东西。所有的差异,数据流等都由React处理。
React-DOM的作用是知道如何将React元素提供的数据呈现为DOM节点。它知道如何更新它们,如何删除它们,所有这些。你知道,将所有这些能力作为React核心的一部分现在并不理想,因为React针对的是那些能力无用的其他平台。他们只会膨胀包裹。