채택완료

unshift를 막는 법?

function empty() {

if (input === "") {

alert("검색어 입력");

} else {

}

}

 

<button

onClick={() => {

let copy = [...글제목];

copy.unshift(input);

글수정(copy);

empty();

}}

>

글등록

</button>

 

 

 

빈 input일 경우 "검색어 입력" 이라는 alert 창을 띄우는데는 성공했는데

빈 인풋 " " 그대로 배열에 추가되어 빈 제목이 추가가 됩니다.

unshift 되는 값이 0 일 때 배열에 추가되는 것을 막아야 하는데 어떻게 해야 할까요..? 

 

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트
input = input.replace(/\s/gi, "");

에서 input에 있는 공백을 제거 합니다.

공백을 제거 하고 나서 빈 문자열일 경우 경고창 띄우게 하면 될것 같습니다. 

그리구 버튼에 있는 onclick 부분에서 배열에 입력하기 전에 경고창 띄우게 수정을 하면 될것 같습니다.

답변에 대한 댓글 1개

onclick 부분에서 배열에 입력하기 전에 경고창 띄우게 수정을 하려면 어떻게 해아할까요? 공백은 제거된거 같긴 한데 여전히 빈 문자열이 추가됩니다.

Copy
function empty() {

input = input.replace(/\s/gi, "");

if (input === "") {

alert("검색어 입력");

return false;

} else {

}

}

 

<button

onClick={() => {

let copy = [...글제목];

empty();

copy.unshift(input);

글수정(copy);

 

}}

>

답변에 대한 댓글 2개

우선 코드 감사합니다.
(/\s/gi, "") 가 의미하는것은 뭔가요???
input === " " 일 때
let [input, setInput] = useState("");
input 배열에 추가되는 것을 막고 싶은데

써주신 코드를 이용해도 빈 문자열이 그대로 input 배열에 추가됩니다 ㅠ ㅠ

답변을 작성하려면 로그인이 필요합니다.