我还是ReactJs的初学者。实际上我想重写我的类组件来钩住组件,但是我的代码有一部分有问题。有人能帮我把这个组件重写成钩子吗?
这是我的代码:
class App extends Component {
state = {
selected: {},
data: data,
filtered: data
};
handleChange = data => {
if (data == null) {
this.setState({
filtered: this.state.data
});
} else {
this.setState({
selected: data,
filtered: this.state.data.filter(d => d.client_id === data.id)
});
}
};
returnClientNameFromID = id => options.find(o => o.id === id).name;
render() {
const {
state: { selected, data, filtered },
handleChange
} = this;
return ( <div>
...
这是你能做的。使用useState
时,您必须始终自己合并对象setState((prevState)=
const App = () => {
const [state, setState] = useState({
selected: {},
data: data,
filtered: data
})
const handleChange = data => {
if (data == null) {
setState((prevState) => {
...prevState,
filtered: this.state.data
});
} else {
setState((prevState) => {
...prevState,
selected: data,
filtered: prevState.data.filter(d => d.client_id === data.id)
});
}
};
const returnClientNameFromID = id => options.find(o => o.id === id).name;
const { selected, data, filtered } = state
return() (
<div> ... </div>
)
}
我是ReactJS和JSX的新手,我对下面的代码有一点问题。 我正在尝试向每个上的属性添加多个类: 我的React组件是:
非常简单的例子:我的App.js文件读取 我的Test.js文件上写着 在控制台中,渲染总是打印两次。为什么啊?
我是ReactJS的新手,我在ES2015的基础上学习它。大多数例子是ES5。我的问题似乎是渲染子组件。 我的子组件是一个文本字段 我的父组件称为AddressBox,将包含许多子控件。如果displayMode为true,则它应该呈现一个范围,如果为false,则它应该呈现一个表单控件。 地址框代码为: 当我尝试渲染这些控件时,会出现以下错误: 警告:作出反应。createElement:类型不
我知道我们在函数组件中使用history.push(),并对重定向路由做出反应。但是在类组件中,我们如何在点击按钮时重定向
我正在构建一个应用程序(使用TypeScript),我面临一个问题,该解决方案需要识别不同的子组件的可能性。基本上是这样的: 我已经搜索了一段时间,许多,如果不是所有接受的答案(像这里:只允许反应组件中特定类型的子级),都是使用()。不幸的是,也有人说在生产中可能会缩小,所以我不能依赖它。 我发现的唯一方法是“强制”一个自己的显示名称。基本上,我创建了一个接口,然后为每个应该可以识别的组件扩展它。
问题内容: 随着React 中钩子的引入,现在的主要困惑是何时将函数组件与钩子和类组件一起使用,因为在钩子的帮助下,甚至可以在函数组件中获得和部分使用。所以,我有以下问题 钩子的真正优点是什么? 何时使用带有钩子的函数组件和类组件? 例如,带有钩子的功能组件不能像类组件那样帮助性能。他们没有执行就不能跳过重新渲染。还有其他原因吗? 提前致谢。 问题答案: 引入和其他特性(例如和)的思想是帮助减少必