当前位置: 首页 > 知识库问答 >
问题:

react输入字段未使用onClick事件更新useState

向实
2023-03-14

输入字段未更新城市使用状态。我也试过提交,但结果是更多的错误。有时,当我按下提交按钮时,useEffect会刷新整个页面。

    // using State for updating city 
    const [City, setCity] = useState();
// this function will fetch the data from Weather API, using useEffect 
    useEffect(() => {
        console.log("updating data" );
    }, [City] )
function CitySearch() {
        console.log(City);  
    }
                // taking input and updating the city, button using the city search function.
                // problem: city not updating !
    return (
       <div>
           <form>
                <input onClick={Event => setCity(Event.target.value)} placeholder="Enter city name"/>
                <button className="search-btn" type="submit" onClick={CitySearch} >Search</button>
           </form> 
        </div>

    )

共有1个答案

朱翔
2023-03-14

您应该在这里使用onChange来读取输入,onClick用于单击处理。

                <input onChange={Event => setCity(Event.target.value)} placeholder="Enter city name"/>

为了停止重新加载表单submit,您可以在事件上使用preventdefault,但不能确切地确定在搜索上调用submit api之后您在做什么。

 类似资料:
  • 我正在创建一个评级系统来给图片评级。我想将onClick和onMouseOver事件应用到我为系统渲染的星星上。 onMouseOver:根据鼠标悬停的星星,应该填充星星以及悬停的星星之前的星星。如果我把星星留在div容器里,那么就不会填满星星。例如,对于4颗星,如果我悬停在第3颗星上,那么应该填写1-3颗星。如果我不悬停在任何星星上,就不应该填充任何星星。 onClick:与上面类似,除了星星将

  • 我正在尝试用Angular构建一个简单的计算器,如果我想的话,我可以覆盖总数。我有这部分的工作,但当我回去输入一个数字在一个或两个领域的总数没有在该领域的更新。 这是我的jsfiddlehttp://jsfiddle.net/YUza7/2/ 形式 javascript

  • 每次鼠标左键单击,递增,因此值始终在变化。我想要显示在条目字段,但我无法实现这一点。 如何使输入字段始终更新并在?

  • 我一直习惯于使用jquery或其他javascript框架,但现在我没有框架可供使用,所以我想看看是否有人知道我如何在可能的情况下使用纯javascript实现这一点。 基本上我有一个这样的div 我需要的一个是,当点击AddMore按钮时,我需要基本上添加更多的宽度和长度字段,或者创建一个完整的结构,就像上面包含所有div的结构,或者只是插入一个新的span标记,其中包含现有div下面的字段。

  • 问题内容: 我正在使用reactjs路由器中的Link组件,但无法使onClickevent运行。这是代码: 这是做这件事的方式还是另一种方式? 问题答案: 您以字符串形式传递,也意味着立即执行。 尝试