리액트 코드에서 문제가 발생했습니다.
조회수 434회
APP.JS
import React, {Component} from 'react';
import INPUT from './INPUT'
class App extends Component{
constructor(props){
super(props)
this.state={
mode:'record'
}
}
changeMode(){
var article = null
if(this.state.mode==='input'){
article = <h1>TEST</h1>
}else if(this.state.mode==='record'){
article = <h1>TEST_</h1>
}
return article
}
render(){
return(
<div>
{this.changeMode()}
</div>
)
}
}
export default App;
INPUT.JS
import React, {Component} from 'react'
import axios from 'axios'
class INPUT extends Component{
render(){
return(
<div>
<select id='sel'> </select>
<br></br>
<input type='text' id='input'></input>
<input type='button' value='입력'onClick={
()=>{
input()
}
}>
</input>
</div>
)
}
}
axios.get('/input').then((res)=>{
var sel = document.getElementById('sel');
for(var i in res.data.results){
var opt = new Option(res.data.results[i].name, res.data.results[i].name);
sel.options.add(opt);
}
})
var input = function(){
var input = document.getElementById('input').value
var sel = document.getElementById('sel').value
axios.post('/input', {input:input, name:sel})
document.getElementById('input').value=''
}
export default INPUT
서버측 app.js
app.get('/input', function(req,res){
var sql = 'select distinct name from ex'
conn.query(sql, function(err, results){
})
})
app.post('/input', function(req,res){
var sql = 'insert into record(name) values(?)'
conn.query(sql, arr, function(err, results){
})
})
셀렉트 상자에 특정 값을 입력하는 INPUT컴퍼넌트를 import 하였습니다. INPUT 컴퍼넌트를 사용하지 않았는데도, 계속 셀렉트 상자가 없다고 INPUT컴퍼넌트에서 오류가 발생합니다. 왜이러는 걸까요? 추신: 이것 저것 확인해보다가 알아냈는데, 서버를 끄면 정상적으로 작동을 합니다.
댓글 입력