reactjs - 预期 `onChange` 监听器是一个函数,但得到了 `object` 类型的值

标签 reactjs

我是 react 和练习 react 的新手。在构建处理 onChange 事件的 react 应用程序时,我总是收到错误错误:预期 onChange 监听器是一个函数,而不是得到一个值object 类型。

我也尝试过这样做 onChange={()=> searchChange} 它仍然没有打印事件。

搜索框组件

import React from 'react';

const SearchBox=(searchfield,searchChange)=>{
    return (
        <div className='pa2'>
        <input
        className='pa3 ba b--green bg-lightest-blue' 
        type='search' 
        placeholder='search robots'
        onChange={searchChange}
        />
        </div>
        );
}
export default SearchBox;

应用程序组件

import React,{Component} from 'react';
import Cardlist from './Cardlist';
import {robots} from './robots';
import SearchBox from './SearchBox';

class App extends Component{
    constructor(){
        super();
        this.state={
            robots:robots,
            searchfield:''
        }
    }
    onSearchChange=(event)=> {
        console.log(event);
    }
    render(){
        return(
        <div className='tc'>
        <h1> RoboFriends </h1>
        <SearchBox searchChange={this.onSearchChange}/>
        <Cardlist robots={this.state.robots} />
        </div>
        );
    }
}
export default App;

我想在控制台上打印事件。

最佳答案

您正在传递一个 Prop searchChange来自AppSearchBox组件 -

<SearchBox searchChange={this.onSearchChange}/>

但是你在这里用错了 -

const SearchBox=(searchfield,searchChange)=>{

更改 SearchBox 的解构 props至-

const SearchBox=({ searchfield,searchChange })=>{

关于reactjs - 预期 `onChange` 监听器是一个函数,但得到了 `object` 类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58474617/

相关文章:

javascript - TailwindCSS 某些自定义颜色不起作用

javascript - 有没有办法禁止我的网站使用 cookie?

reactjs - 无法读取未定义的 CompileError : Begins at CSS selector undefined 'type' 的属性 `npm run build`

javascript - 如何在reactJS中从页面底部开始并向上滚动

javascript - React-native Redux 组件不会在状态更改时使用 bool 值重新渲染

reactjs - 无法将 className 或 style 等 Prop 传递给自定义组件的 Prop

javascript - React-DnD : Using IsDropDisabled to disable dropping wrong element type

javascript - 如何从 react-bootstrap 复选框获取值/属性?

reactjs - React 中函数式 Observable 模式的绝对最简单示例

css - 在 React 类组件中正确放置样式变量