μλ
νμΈμ @realmankwonμ
λλ€.
3μΌλμ ν¬μ€ν
μ νμ§ λͺ»νλ€μ γ
γ
μκ°μ΄ μμ΄μλ μμ§λ§ μ΄λ² 건μ 보기μλ μμ² μ¬μ 보μ΄μ§λ§ μ€μ λ‘ ν΄ λ³΄λ λ무λ μ΄λ €μμ 3μΌλμμ κ±Έμ³μ κ²¨μ° ν΄λμ΅λλ€.
μ΄μ κΈ νκ° μ°λ κ²μ΄ μΌλ§λ μ΄λ €μ΄μ§ μ€κ°μ΄ λλ€μ.
μ½μΈμ λν΄μ μ λͺ¨λ₯΄κ³ μ’μ κΈμ μΈλ €λ©΄ λ§μ μκ°μ λ€λ €μΌ νλλ° κ·Έ μκ°μ μ κ° μ’ λ μ νκ³ λμμ΄ λ μ μλ κΈμ μ¨μΌκ² λ€λ μκ°μ κΈ°μ‘΄μ μ‘κΈμ μ°μ§ μμμ΅λλ€.
μΌλ¨ μ€λμ μ λͺ©κ³Ό κ°μ΄ 보ν
μμ κ°νΈνκ² κ³ μ κ°μ μΆκ°νμ΅λλ€.
Busy, Steempeakμμλ κΈ°λ³ΈμΌλ‘ λμ΄μκ³ λ무λ νΈνκ² μ¨μ μ λ μ¬λ¬λͺ¨λ‘ λΆνΈνμμ΅λλ€.
κ·Έλμ μ½κ² κ±°λλΌλ©° μμ μ λ€μ΄κ°λλ° μ΄κ±° μ λ§ μ΄λ €μ μ΅λλ€. γ
γ
μνμλ λΆλ€μ μ¬μ μν
λ° μ λ μ λͺ¨λ₯΄λ€λ³΄λ μκ°λ³΄λ€ λΆμλ λ§μ΄ν΄μΌνκ³ react λ¬Έλ²λ μ λ² λ§μ΄ 곡λΆν΄μΌνμ΅λλ€.
μΌλ¨ sliderμ κ΄λ ¨λ μμ€λ₯Ό μ°Ύμ보μμ΅λλ€.
μ΄μ κ³Ό λ§μ°¬κ°μ§λ‘ λ€μμ Voting.jsx νμΌμ μμμ΅λλ€.
src/app/components/elements/Voting.jsx
μμ μμ€μμ
{s + b / 100}% μ΄ λ³΄ν λΉμ¨μ΄κ³
<
Slider
min={100}
max={MAX_WEIGHT}
step={100}
value={b}
onChange={this.handleWeightChange(up)}
onChangeComplete={this.storeSliderWeight(up)}
tooltip={false}
/>
μ΄ λ³΄ν
λ° λΆλΆμ
λλ€.
보ν
λ° λΆλΆμ μμ€μμ 보ν
λ°λ₯Ό λ³κ²½νλ©΄ this.handleWeightChange(up) μ΄ νΈμΆλκ³ λ³΄ν
λ° λ³κ²½ ν λ§μ°μ€λ₯Ό λμΌλ©΄ this.storeSliderWeight(up) μ΄ νΈμΆλ¨μ μ μ μμ΅λλ€.
μ΄λ μ΄ ν¨μλ₯Ό μ΄μ©ν΄μ λκ°λ₯Ό ν΄ λ³Όλ €κ³ νμλλ° μ ν¨μλ₯Ό μ΄λ»κ² μ¬μ©νλμ§ reactμ λ¬Έλ²μ λͺ¨λ₯΄λ μ μκ° μμμ΅λλ€.
κ·Έλμ reactμμ ν¨μλ₯Ό μ΄λ»κ² μ μΈνλμ§ λ©°μΉ λμ 곡λΆλ₯Ό νμ΅λλ€λ§ μ€μ μμ€μ μλ λͺ¨μ΅λλ‘ μ¬μ©λ κ²μ λ³Ό μκ° μμμ΅λλ€.
this.handleWeightChange = up => weight => {
let w;
if (up) {
w = {
up: weight,
down: this.state.sliderWeight.down,
};
} else {
w = {
up: this.state.sliderWeight.up,
down: weight,
};
}
this.setState({ sliderWeight: w });
};
μ¬κΈ°μ μ΄ λΆλΆ
this.handleWeightChange = up => weight => {
μ μΈλ λ = λ·λΆλΆμ μΈμ => λ·λΆλΆμ ν¨μ μ μΈμ΄λΌκ³ νλλ° μ¬κΈ°μλ => λ€μ λ³μκ° λμ€κ³ λ€μ => μ΄ λμ€λ κ²μ
λλ€. γ
γ
κ·Έλμ μμ€λ₯Ό λ λ°μ κΉμ§ κΉλ³΄μμ΅λλ€.
λ€μκ³Ό κ°μ΄ λμ΄ μλκ΅°μ.
μ κΈ°μ 보면 onChange ν¨μλ value : number κ°μ λ°λλ€κ³ λμ΄ μμ΅λλ€.
μ....
λ©°μΉ λμ κ³ μνμλλ° μ€λ μ μΆλ₯Ό ν΄ λ³΄μμ΅λλ€.
ν¨μ μ°κ²°μμ () μμ μΈμλ = λ°λ‘ λ€μ λ³μμ μ
λ ₯μ΄ λκ³ => λ€μ λ³μμλ κΈ°λ³Έ value : number κ°μ λ°λλ€κ³ ...
κ·Έ νμ λ€μκ³Ό κ°μ΄ μμ€λ₯Ό λ³κ²½νμμ΅λλ€.
radio λ²νΌμΌλ‘ κ°μ μ
λ ₯λ°λλ‘ νκ³ μμ onChange, onChangeComplete ν¨μλ₯Ό ν©μ³μ handleButtonWeightChange ν¨μλ₯Ό λ§λ€μμ΅λλ€.
const slider = up => {
const b = up
? this.state.sliderWeight.up
: this.state.sliderWeight.down;
const s = up ? '' : '-';
return (
<span>
<div className="weight-display">
{s + b / 100}%
</div>
// 보ν
κ³ μ κ° μΆκ° λ²νΌ
<div id="btn_group">
<button id="weight25" onClick={this.handleButtonWeightChange(up, 2500)}>25%</button>
<button id="weight50" onClick={this.handleButtonWeightChange(up, 5000)}>50%</button>
<button id="weight75" onClick={this.handleButtonWeightChange(up, 7500)}>75%</button>
<button id="weight100" onClick={this.handleButtonWeightChange(up, 10000)}>100%</button>
</div>
<Slider
min={100}
max={MAX_WEIGHT}
step={100}
value={b}
onChange={this.handleWeightChange(up)}
onChangeComplete={this.storeSliderWeight(up)}
tooltip={false}
/>
</span>
);
};
// λ²νΌ ν΄λ¦μ 보ν
λ°μ 보ν
λΉμ¨ λ³κ²½νλ ν¨μ μμ±
this.handleButtonWeightChange=(up, weight)=>e => {
let w;
if (up) {
w = {
up: weight,
down: this.state.sliderWeight.down,
};
} else {
w = {
up: this.state.sliderWeight.up,
down: weight,
};
}
this.setState({ sliderWeight: w });
const { username, is_comment } = this.props;
console.log(username);
localStorage.setItem(
'voteWeight' +
(up ? '' : 'Down') +
'-' +
username +
(is_comment ? '-comment' : ''),
weight
);
};
κ·Έ μ΄ν μ€νμ νμλλ μ μμ μΌλ‘ λμμ νμμ΅λλ€.
κ³ μ κ° ν΄λ¦λ μ λκ³ λ³΄ν
κΉμ§ μ λμμ΅λλ€.
λ§μ§λ§μ 보ν
λ κ²μ΄ κΉλνκ² μΊ‘μ³κ° μ λμμ§λ§μ ^^
μνΌ μ΄λ²μ reactμ λν΄μ μ’ λ λ§μ΄ 곡λΆν μ μλ κ³κΈ°κ° λμλ€μ.
μμΌλ‘ μ μ λ μ΄λ €μ΄ κ²λ€μ νκ² λ ν
λ° κΈμ μΌλ§λ§μ νλ²μ© μΈ μ μμμ§ λͺ¨λ₯΄κ² λ€μγ
γ
μ°¨λΌλ¦¬ μ½μΈμ λ 곡λΆν΄μ μ°λ κ²μ΄ λ λμ κ² κ°κΈ°λ νλ€λ μκ°μ΄ λΆμ₯λλ€μ.
μνΌ μ΄ μμ€λ μ μ©μ΄ λκΈΈ λ°λλ΄
λλ€. ^^
λ€λ€ λ¨μ ν΄μΌ μ 보λ΄μΈμ!!!
Intro λ΄ μ»΄ν¨ν°μμ λλ§μ sctλ₯Ό μ€νν΄ λ³΄μ
1. [λλ§μ SCT #1] 보ν
λΉμ¨ 보기
2. [λλ§μ SCT #2] SCT 보μμ‘κ³Ό Steem 보μμ‘ ν¨κ» 보기
3. [λλ§μ SCT #3] 보ν
κΈμ‘ (SCT), κΈ λ¦¬μ€νΈμμ 보ν
μ νμΈ, 보ν
μ Limit νκΈ°