import './style.scss' import React from 'react' import ReactDOM from 'react-dom' class IPAddress extends React.Component { constructor(props) { super(props) this.state = { octets: [10, 88, 135, 144], cidr: 28, } } handleChange = (event) => { var octets = this.state.octets var val = +event.target.value.replace(/[^0-9]/g, '') var octet = event.target.attributes['data-octet'].value if (octet == 'cidr') { if (val <= 32) { this.setState({ cidr: val }) } } else { if (val <= 255) { octets[+octet] = val this.setState({ octets: octets }) } } } render() { var pretty = this.state.octets.join('.') + '/' + this.state.cidr return
{[...Array(4)].map((x, octet) => {octet == '3' ? '/' : '.'} )}
    {[...Array(4)].map((x, octet) =>
    1. {[...Array(8)].map((x, bit) =>
    2. this.state.cidr-1 ? 'bit masked' : 'bit unmasked'}>{(this.state.octets[octet] & (1 << (7-bit))) >> (7-bit)}
    3. )}
  1. )}
} } ReactDOM.render(, document.getElementById('app'))