gpt4 book ai didi

reactjs - 如何正确设置对 React 组件的引用?

转载 作者:行者123 更新时间:2023-12-03 13:57:28 31 4
gpt4 key购买 nike

将 React 与 react-redux 结合使用,我正在尝试获取此登录表单:

import React from 'react'
import RaisedButton from 'material-ui/lib/raised-button';
import TextField from 'material-ui/lib/text-field';
const LoginButton = () => (
<form>
<div>
<TextField hint="E-mail" floatingLabelText="E-mail" ref="emailInput"></TextField><br/>
</div>
<div>
<TextField hint="Contraseña" floatingLabelText="Contraseña" type="password" ref="passwordInput"></TextField><br/><br/>
</div>
<div>
<RaisedButton label="Acceder" primary={true} onClick={e => {
console.log(emailInput.value);
}}/>
</div>
</form>
);

export default LoginButton;

同时它也被用作:

import React from 'react'
import Card from 'material-ui/lib/card/card';
import CardActions from 'material-ui/lib/card/card-actions';
import CardHeader from 'material-ui/lib/card/card-header';
import CardText from 'material-ui/lib/card/card-text';
import CardTitle from 'material-ui/lib/card/card-title';
import RaisedButton from 'material-ui/lib/raised-button';

import Paper from 'material-ui/lib/paper';
import { Link } from 'react-router'
import LoginForm from '../containers/LoginForm'

const divStyle = {
marginTop: '100px'
};

const paperStyle = {
padding: '25px'
}

const Login = () => (
<div className="row center-md" style={divStyle}>
<div className="col-md-6">
<div className="box">
<Paper zDepth={4} style={paperStyle}>
<div>
<h1>Acceder</h1>
</div>
<LoginForm />
</Paper>
</div>
</div>
</div>
);

export default Login;

所以运行这个我得到:

Uncaught Invariant Violation: Stateless function components cannot have refs.

所以我有一些问题,我应该如何解决这个错误?有什么魔力可以让我导出这样的组件,而不是使用 React.createClass 导出(我从几个 React/Redux 示例中复制了这个模式)?

最佳答案

在无状态组件中你可以使用这样的方法:

const TextFieldSubmit = (props) => {
let input;

return (
<div className='ui input'>
<input
ref={node => input = node}
type='text'
>
</input>
<button
onClick={() => {
props.onSubmit(input.value);
input.value = '';
}}
className='ui primary button'
type='submit'
>
Submit
</button>
</div>
);
};

更多详情请前往:https://www.fullstackreact.com/p/using-presentational-and-container-components-with-redux/

关于reactjs - 如何正确设置对 React 组件的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35891653/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com