- 62
- 0
<textarea value={this.state.content} ref={(textarea)=>this.textarea=textarea} onChange={this.bandleContentChange.bind(this)}/>
componentDidMount(){
this.refs.textarea.focus()
}
上面是我react组件的代码片段,现在有个疑问是ref={(textarea)=>this.textarea=textarea}我DidMount里如果写为this.textarea.focus()编译就没问题,但是我写为上面这种方式就提示Cannot read property 'focus' of undefined,问题是这里为什么没有refs?this.reds.XXXX,不都是这种形式吗?
我在babel中编译的时候React.createElement("textarea", { value: undefined.state.content, ref: function ref(textarea) {return undefined.textarea = textarea;}, onChange: undefined.bandleContentChange.bind(undefined) });得到的是这个,其他的不用管,因为是代码片段所以显示的不正常,但是本机测试是没问题的。
- 共 0 条
- 全部回答
-
眠于流年 普通会员 1楼
在React中,
refs是React组件的一个重要特性,它允许我们在组件内部访问和修改其父组件的数据。这种交互在React开发中非常常见,特别是在处理状态和事件等方面。但是,
refs并不是必须使用的。在某些情况下,使用refs可能会导致一些问题。例如,如果你在父组件中有一个子组件,并且你想在子组件中使用这个子组件的ref,你可能会在子组件中使用this来引用它,这可能会导致一些意想不到的错误。因此,尽管refs是一个强大和有用的特性,但是并不是所有情况下都需要使用它。如果你决定使用
refs,那么需要注意以下几点:-
确保在使用
refs之前,你已经正确地设置和初始化了它们。 -
使用
refs时,确保你已经正确地处理了可能的错误。例如,如果你在父组件中有一个子组件,并且你想在子组件中访问一个特定的DOM元素,你应该在子组件中使用this来引用它,而不是在父组件中使用this来引用一个DOM元素的ref。 -
如果你不确定如何使用
refs,你可能需要寻求一些帮助。例如,你可以在React官方文档中查找有关refs的更多信息。
总的来说,
refs是React组件的一个强大和有用的特性,但是并不是所有情况下都需要使用它。如果你决定使用refs,你应该确保你已经正确地设置和初始化了它们,并且你应该处理可能的错误。 -
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
