I Learned/TIL
                
              [TIL] react, ethers, payable, file
                beeimp
                 2022. 6. 16. 02:23
              
                          
            const CreateInputElement = ({ name, placeholder = "", onChange = () => { }, value=undefined }) => { 
    return ( 
        <InputWrapper> 
        { 
            value === undefined 
            ? <Input name={name} placeholder={placeholder} onChange={onChange}></Input> 
            : <Input name={name} placeholder={placeholder} onChange={onChange} value={value}></Input> } </InputWrapper> 
    ); 
}[TIL] 한줄 요약
날짜
- 2022.06.15.
목표
- OpenSea 클론코딩 - IPFS 연동
- FBI 개인 프로젝트 - 글쓰기 구현
내용
react - input value warning 해결

- 문제 - value에 undefined가 들어갈 수 있어 발생
- 해결- 1번째 방법const provider = await new ethers.providers.Web3Provider(window.ethereum); const signer = await provider.getSigner(); let contract = await new ethers.Contract(SEANAPSE_NFT_CONTRACT_ADDRESS, seanpaseNtfAbi, signer, provider);
- 2번째 방법<input value={state.value || ''} />
 
- 1번째 방법
ethers 모듈 -사용한 Metamask 지갑 서명
- 상황 - MetaMask를 통해 NFT 민팅
solidity - address payable
- 상황 - 여러 로직을 실행 후 msg.sender가 다른 계정에 ether를 보내줄 때
function sendTo(address payable _to) public payable{
        bool result = _to.send(msg.value);                           // 결과를 반환값으로 돌려줌!
        require(result,"Send function failed.");
        emit PaymentSuccessful(msg.value);
    }JS - jsonObject → 문자열 → Blob → File
- 상황 - Object를 File로 생성하여 전달해야하는 경우
new File([new Blob([JSON.stringify(obj)])], "fileName.json");결론
- 자세한 부분에 대한 학습 진행
- 모듈을 사용하지 않고 직접 구현하는 중