我没有从子组件的index
中得到event => { this.handleChange(event, index) }
,并且我怀疑event
也没有到达。我不知道如何将其转移给父母。我尝试将其添加到孩子的props.onChange(event, index)
中,但这没有用。我尽了最大的努力,却被困住了。任何帮助将不胜感激!
父母:
<Inputs hasInputs={hasInputs} onSubmit={this.handleSubmit} thoughtProp={this.state.thought} onChange={event => { this.handleChange(event, index) }} />
孩子:
export const Inputs = (props) => {
return (
<form className="flex-item-main form" onSubmit={props.onSubmit}>
<div>
<h4>
<p className='inputsHeader'>Thoughts:</p>
</h4>
</div>
<ol>
{props.thoughtProp.map((input, index) => (
<Input type='text' key={index} value={input} onChange={props.onChange} className='textInputs' />
))}
{ props.hasInputs ? (
<input className='submitThoughts' type='submit' value='Submit Thought!' />
) : (
null
)}
</ol>
</form>
)
}
答案 0 :(得分:1)
您还需要传递索引
在父母中
onChange={this.handleChange}
在孩子中
onChange={(e) => props.onChange(e, index)}