मेरे पास चार फ़ाइल इनपुट वाला एक फॉर्म है। विभिन्न उद्देश्यों वाली फाइलों के लिए अलग-अलग इनपुट।

मैंने प्रत्येक फ़ाइल के लिए एक रेफरी बनाई है।

मैंने रेफरी की एक सरणी बनाई है।

सबमिट करने पर, मैं सभी रेफरी तक पहुंचने और उनके ref.current.files [0] प्राप्त करने का प्रयास कर रहा था।

उदाहरण कोड नीचे:

import {useRef} from 'react';

export default function myComponent(props){

const file1 = useRef(null);
const file2 = useRef(null);
const file3 = useRef(null);
const file4 = useRef(null);

const fileRefs = [file1, file2, file3, file4];

function onSubmit(){
  let files = [];

  fileRefs.map((ref) => {
    let obj = {};
    obj.fileName = ref.current.files[0].name;
    obj.file = ref.current.files[0];
    files.push(obj)
  })
}

render(
<div className="form">

<label>File 1 </label>
<input type="file" ref={file1} />

<label>File 2 </label>
<input type="file" ref={file2} />

<label>File 3 </label>
<input type="file" ref={file3} />

<label>File 4 </label>
<input type="file" ref={file4} />

<button onClick={() => onSubmit()}>Submit</button>

</div>
)
}

त्रुटि: "लेखन त्रुटि: नल के गुणों को नहीं पढ़ सकता ('फ़ाइलें' पढ़ना)"

इसलिए, मैं इस तरह से रेफरी की .current संपत्ति तक नहीं पहुंच सकता।

मैं वास्तव में नहीं जानता कि इस मुद्दे से कैसे संपर्क किया जाए, बस एक साथ कुछ जोड़ने की कोशिश कर रहा था।

अगर कोई रेफरी की मौजूदा संपत्तियों को गतिशील रूप से एक्सेस करने के तरीके से मेरी मदद कर सकता है, तो यह बहुत अच्छा होगा।

1
yungeddy 29 सितंबर 2021, 07:25

2 जवाब

सबसे बढ़िया उत्तर