获取' ref'路线反应元素的孩子

时间:2017-11-17 00:29:33

标签: reactjs react-router

我尝试访问路由器反应路由器的子元素的ref,但它不起作用。

<Route path={path} render={ () => (
            <Child ref={ (el => this.$child = el)} />
          )} />

控制台日志:"Warning: Stateless function components cannot be given refs. Attempts to access this ref will fail."

1 个答案:

答案 0 :(得分:2)

即使它位于Route元素内,您也应该能够获得Child组件的@app.route('/', methods=['GET', 'POST']) def checNumber(): if request.method == 'POST': number_str = request.form['Number'] try: number = float(number_str) except ValueError: number = None if number is None: raise ValueError('Please enter number only') elif number <= 0: raise ValueError('Number should be greater than 0') else: pass return render_template('hello.html') 。这里的问题是你的Child元素可能是一个无状态的函数组件,它不支持ref。因为功能组件没有实例。

将您的Child组件定义为ES6类而不是函数。

您可以在此处详细了解:https://reactjs.org/docs/refs-and-the-dom.html#refs-and-functional-components