Javascript 反应:执行顺序
我是一个新的反应者,并且一直遵循这个例子 现在,据我所知,以下应该是执行顺序Javascript 反应:执行顺序,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我是一个新的反应者,并且一直遵循这个例子 现在,据我所知,以下应该是执行顺序 从LoginControl开始执行 然后是构造函数 然后转到render方法并运行 按钮=} 现在控件应该转到LoginButton函数,但是当我调试控件时,它会转到Greetings然后转到UserGreetings,然后转到LoginButton。为什么呢? 另外,在LoginButton中,我们有,单击可以做什么?它叫什么 如果有人能解释一下,我将不胜感激。我已经读了很多文章,花了一些时间进行调试,但找不到
- 从LoginControl开始执行
- 然后是构造函数
- 然后转到render方法并运行
按钮=}代码>
LoginButton
函数,但是当我调试控件时,它会转到Greetings
然后转到UserGreetings
,然后转到LoginButton
。为什么呢?
另外,在LoginButton
中,我们有
,单击可以做什么?它叫什么
如果有人能解释一下,我将不胜感激。我已经读了很多文章,花了一些时间进行调试,但找不到答案。Sara,
我将从后一个问题开始
LoginButton
是一个组件,它所做的和拥有的只是一个按钮,在onClick事件上触发一个名为props.onClick
的方法。那么什么是道具。点击一下?它是从父组件传递到此组件的某个方法
回到代码,让我们搜索父组件,在本例中,它将是顶级组件LoginFlow
。如果isLoggedIn
为false,则分配给按钮代码>。你看到onClick
道具了吗?这就是作为道具传递的内容。单击登录按钮,因此在单击时执行的函数是登录流的handleLoginClick
至于前一个问题,这正是LoginFlow
组件返回的内容。查看组件的return语句部分-它使用isLoggedIn
prop返回Greetings
,然后(在本例中为true
)返回到usergreetings
希望这有帮助 对于:
虽然该代码在
之前执行,但它与按钮=登录按钮()
不同,后者将执行登录按钮中的代码
LoginButton
内的代码仅在实际渲染时执行,即在通过调用ReactDOM.render()
渲染的组件内的{button}
props
是作为第二个参数传递给上面的React.createElement
的值,将作为第一个参数传递给组件实现
如果您想象
,则以下实现将在按钮内显示test
:
const LoginButton = (props) => <button>{props.something}</button>
constloginbutton=(props)=>{props.something}
然而,onClick
是一个由内置React元素识别的道具,如
或
,它将等待用户单击该元素并在每次单击时调用开发人员指定的函数-请参阅以了解更多信息。ah ok,因此@Aprillion LoginButton在后面被调用,因为下面是{button}返回({button});不是@Aprillion,但会说是的,这就是原因:)实际上我的问题应该是一般性的,而不是针对某个人的,我今天学到了这一点,谢谢你的回复,谢谢!
const LoginButton = (props) => <button>{props.something}</button>