Javascript 我无法在提交时显示状态
我有一个组件,它在父组件中渲染了4次。我想更改父组件中的状态,并显示包含四个输入的所有值的数组。无论如何,在父组件中,当我进行onSubmit时,状态似乎没有更新,并且没有显示值。我想我传递道具的方式不对。谁能给我解释一下我做错了什么?非常感谢Javascript 我无法在提交时显示状态,javascript,reactjs,Javascript,Reactjs,我有一个组件,它在父组件中渲染了4次。我想更改父组件中的状态,并显示包含四个输入的所有值的数组。无论如何,在父组件中,当我进行onSubmit时,状态似乎没有更新,并且没有显示值。我想我传递道具的方式不对。谁能给我解释一下我做错了什么?非常感谢 import React, { useState } from 'react'; import CurrencyInput from 'react-currency-input-field'; function Stake(props) { c
import React, { useState } from 'react';
import CurrencyInput from 'react-currency-input-field';
function Stake(props) {
const [newStake, setStake] = useState(['']);
const changeStake = (e) => {
setStake(e.target.value)
}
return (
<>
<CurrencyInput
onChange={changeStake}
newStakeProp={newStake}
style={{
marginLeft: "40px",
width: "50px"
}}
placeholder="Stake"
decimalScale={2}
prefix="£"
/>
<button onSubmitProp={props.onSubmit}>yes</button>
<button>no</button>
{newStake}
</>
);
}
export default Stake;
import React,{useState}来自“React”;
从“反应货币输入字段”导入货币输入;
功能桩(道具){
const[newStake,setStake]=useState(['');
const changestage=(e)=>{
设定值(如目标值)
}
返回(
对
不
{newStake}
);
}
出口违约股权;
import React,{Component}来自'React';
从“./桩”导入桩;
类FetchRandomBet扩展组件{
建造师(道具){
超级(道具);
此.state={
加载:对,
打赌:空,
value:this.props.value,
所有股份:['']
};
}
异步组件didmount(){
常量url=”http://localhost:4000/";
const response=等待获取(url);
const data=wait response.json();
这是我的国家({
加载:false,
打赌:data.bets,
});
}
render(){
const{valueProp:value}=this.props;
const{newStakeProp:newStake}=this.props;
const{bet,load}=this.state;
如果(装载){
返回装载。。;
}
如果(!打赌){
返回未获取数据;
}
返回(
{
正在加载| |!打赌(
加载。。
):值===0(
名字
{
bet.map(post=>(
{post.name}
))
}
赔率
{
bet.map(post=>(
-
{post.赔率[4].oddsDecimal}
{this.setState({allstacks:[…newStake]}}
>
{this.state.allstacks}
))
}
newStake
是您的赌注组件的状态。但是如果您不从子组件传递它,则父组件无法知道它
因此,stack子组件应该有自己的submit函数,然后调用父组件的onSubmit
,并使用一个参数holdingnewStake
当然,父对象中的内联onSubmit应该接受包含newStake的参数
import React, { useState } from 'react';
import CurrencyInput from 'react-currency-input-field';
function Stake(props) {
const [newStake, setStake] = useState(['']);
const changeStake = (e) => {
setStake(e.target.value)
}
const mySubmit = () => {
props.onSubmit(newStake);
}
return (
<>
<CurrencyInput
onChange={changeStake}
style={{
marginLeft: "40px",
width: "50px"
}}
placeholder="Stake"
decimalScale={2}
prefix="£"
/>
<button onSubmitProp={mySubmit}>yes</button>
<button>no</button>
{newStake}
</>
);
}
export default Stake;
import React,{useState}来自“React”;
从“反应货币输入字段”导入货币输入;
功能桩(道具){
const[newStake,setStake]=useState(['');
const changestage=(e)=>{
设定值(如目标值)
}
const mySubmit=()=>{
道具。提交(新闻短片);
}
返回(
对
不
{newStake}
);
}
出口违约股权;
newStake
是您的赌注组件的状态。但是如果您不从子组件传递它,则父组件无法知道它
因此,stack子组件应该有自己的submit函数,然后调用父组件的onSubmit
,并使用一个参数holdingnewStake
当然,父对象中的内联onSubmit应该接受包含newStake的参数
import React, { useState } from 'react';
import CurrencyInput from 'react-currency-input-field';
function Stake(props) {
const [newStake, setStake] = useState(['']);
const changeStake = (e) => {
setStake(e.target.value)
}
const mySubmit = () => {
props.onSubmit(newStake);
}
return (
<>
<CurrencyInput
onChange={changeStake}
style={{
marginLeft: "40px",
width: "50px"
}}
placeholder="Stake"
decimalScale={2}
prefix="£"
/>
<button onSubmitProp={mySubmit}>yes</button>
<button>no</button>
{newStake}
</>
);
}
export default Stake;
import React,{useState}来自“React”;
从“反应货币输入字段”导入货币输入;
功能桩(道具){
const[newStake,setStake]=useState(['');
const changestage=(e)=>{
设定值(如目标值)
}
const mySubmit=()=>{
道具。提交(新闻短片);
}
返回(
对
不
{newStake}
);
}
出口违约股权;
我试图用onClick更改onSubmit,但它突然正常工作。谢谢大家的帮助
<Stake
onClick={(newStake) => { this.setState({ allStakes: [...newStake, newStake] }) }}
/>
{this.setState({allstacks:[…newStake,newStake]}}
/>
是
我试图用onClick更改onSubmit,但它突然正常工作。谢谢大家的帮助
<Stake
onClick={(newStake) => { this.setState({ allStakes: [...newStake, newStake] }) }}
/>
{this.setState({allstacks:[…newStake,newStake]}}
/>
是
changeconst[newStake,setStake]=useState(['');
to thisconst[newStake,setStake]=useState([]);
changeconst[newStake,setStake]=useState(['');
to thisconst[newStake,setStake]=useState([])
我实现了这个,但它不起作用:是否{newStake}我如何传递参数newStake?再次感谢您放置的最新编辑{this.state.allstacks}
在桩组件内部。您应该将其移动到桩组件外部的某个位置。一些问题:货币的值是否输入数组?为什么要启动ALL