Javascript 我能';不改变场的状态 我的任务是: 当用户输入某个单词时,必须将该单词设置为字段searchInput中的值 当用户按下搜索按钮时,我在控制台中看到新状态searchInput
更改字段Javascript 我能';不改变场的状态 我的任务是: 当用户输入某个单词时,必须将该单词设置为字段searchInput中的值 当用户按下搜索按钮时,我在控制台中看到新状态searchInput,javascript,reactjs,Javascript,Reactjs,更改字段searchInput我在Home.js文件中的方法upadateStateSearchInput中实现 但我有一个错误: 类型错误:无法读取未定义的属性“映射” 在该行的Table.js中: <tbody className="table-body"> {props.dataAttribute.map(item => ( 但是错误是: TypeError:无法读取属性“value of null” 在Home.js中的这一行: se
searchInput
我在Home.js文件中的方法upadateStateSearchInput
中实现
但我有一个错误:
类型错误:无法读取未定义的属性“映射”在该行的Table.js中:
<tbody className="table-body">
{props.dataAttribute.map(item => (
但是错误是:
TypeError:无法读取属性“value of null”
在Home.js中的这一行:
searchInput:event.target.value
您可能需要更改:
const upadateStateSearchInput = (event) =>{ //THIS METHOD
setValue({
searchInput: event.target.value
});
};
作者:
在您的家庭组件中。
我认为给您的方法
upadateStateSearchInput
的值是由输入输入的值。您可能需要更改:
const upadateStateSearchInput = (event) =>{ //THIS METHOD
setValue({
searchInput: event.target.value
});
};
作者:
在您的家庭组件中。
我认为给您的方法
upadateStateSearchInput
的值就是输入输入的值。您是这样设置存储的
const [value, setValue] = useState({
listCategory: [],
searchInput: ""
});
您的onchange正在将listCategory
设置为未定义<未定义的的code>.map
正在抛出错误。为了安全编码,请开始使用可选链接
const upadateStateSearchInput = (event) => { //THIS METHOD
setValue({
searchInput: event.target.value
});
};
你这样设置商店
const [value, setValue] = useState({
listCategory: [],
searchInput: ""
});
您的onchange正在将listCategory
设置为未定义<未定义的的code>.map
正在抛出错误。为了安全编码,请开始使用可选链接
const upadateStateSearchInput = (event) => { //THIS METHOD
setValue({
searchInput: event.target.value
});
};
可能您的
res.data
未定义。尝试console.log
it查看它是什么。您自己问题末尾的解决方案是这样做的正确方法。您得到的错误只是因为,因此需要首先将值放入局部变量:const{value}=event.target;setValue(prev=>({…prev,searchInput:value}))代码>和钩子的良好实践是使用多个useState
,每个不同的状态对应一个钩子。e、 g.const[searchInput,setSearchInput]=useState(“”)代码>和常量[listCategory,setListCategory]=useState([])代码>可能您的res.data
未定义。尝试console.log
it查看它是什么。您自己问题末尾的解决方案是这样做的正确方法。您得到的错误只是因为,因此需要首先将值放入局部变量:const{value}=event.target;setValue(prev=>({…prev,searchInput:value}))代码>和钩子的良好实践是使用多个useState
,每个不同的状态对应一个钩子。e、 g.const[searchInput,setSearchInput]=useState(“”)代码>和常量[listCategory,setListCategory]=useState([])代码>请解释你做了什么,以及为什么它在我的旧代码中不起作用。我只是想知道问题出在哪里past@dok首先,输入发送的值不是事件,只是一个简单的字符串,因此我在方法upadateStateSearchInput
中将event
替换为valueFromInput
。我还添加了…值
。更新状态时,需要保留其以前的值(“…value”就是这样做的),然后设置要更改的属性。以下是关于这三个点的链接,这是必须知道的;)请解释你做了什么,以及为什么在我的旧代码中它不起作用。我只是想知道问题出在哪里past@dok首先,输入发送的值不是事件,只是一个简单的字符串,因此我在方法upadateStateSearchInput
中将event
替换为valueFromInput
。我还添加了…值
。更新状态时,需要保留其以前的值(“…value”就是这样做的),然后设置要更改的属性。以下是关于这三个点的链接,这是必须知道的;)
const [value, setValue] = useState({
listCategory: [],
searchInput: ""
});
const upadateStateSearchInput = (event) => { //THIS METHOD
setValue({
searchInput: event.target.value
});
};