【发布时间】:2018-05-09 01:55:01
【问题描述】:
下面的代码抛出一个类型错误:'Cannot read property "focus" of null'。离开反应的文档,这应该可行。 注意:父组件实现了redux connect方法,但我不确定为什么这会对这个组件产生任何影响。
import React, { Component, createRef } from 'react';
import './Card.scss';
const Card = ({isEditing, item, onBlur, onChange}) => {
let inputText = createRef();
const editing = (editMode) => {
if (editMode) {
inputText.current.focus();
}
return e => {
e.stopPropagation();
isEditing(item, editMode);
};
}
const update = () => {
return e => {
onChange(item.id, e.target.value);
}
}
return (
<div className="card">
<img className="card-image" src="https://picsum.photos/200/200"
alt="no image display" />
<div className="card-body">
{item.edited ? (
<div>
<input type="text" ref={inputText} onClick={e =>
e.stopPropagation()} value={item.name} onBlur=
{editing(false)}
onChange=
{update()} />
</div>
) : (
<h3 className="card-title" onClick={editing(true)} >
{item.name}
</h3>
)}
</div>
</div>
);
}
export default Card;
【问题讨论】:
标签: reactjs