我知道这个问题已被问过很多次了。我已经看了很多解决方案,而且我几乎是正面的,我有正确的语法。但是,由于onClick事件,我的console.log没有出现在我希望执行的函数中。我错过了一些非常简单的事吗?谢谢!
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
static int cc =0;
static FILE* in;
static char* getkw(){
char tok[10];
int i;
cc = fgetc(in);
for(i=0; i<=(int)sizeof(tok)-1 &&isalpha(cc);++i){
tok[i]= cc;
cc = fgetc(in);
}
tok[i]=0;
return tok;
}
int main()
{
in = fopen("/dir/dir/a.txt", "r");
char *c= getkw();
printf("%s", c);
fclose(in);
return 0;
}
这是服务器代码:
import React, { Component } from 'react';
import Header from './Header';
import AddButton from './AddButton';
import CardContainer from './CardContainer';
import style from '../style/App.css';
class App extends Component {
constructor(props) {
super(props);
this.state = {
cardTitles: ['first', 'second', 'third']
};
this.addCard = this.addCard.bind(this);
}
addCard(event) {
event.preventDefault();
console.log('ADDED')
this.state.cardTitles.push('new');
this.setState({
cardTitles: this.state.cardTitles
})
}
render() {
return (
<div className={style.appContainer}>
<Header/>
<AddButton onClick={this.addCard}/>
<CardContainer cardTitles={this.state.cardTitles}/>
</div>
);
}
}
export default App;
这是AddButton组件:
var express = require('express');
var bodyParser = require('body-parser');
var request = require('request');
var app = express();
app.use(express.static(__dirname + '/../builds'));
app.use(bodyParser.urlencoded({ extended: true }));
app.listen(3000, function() {
console.log('listening on port 3000!');
});
答案 0 :(得分:0)
确保您将onClick
函数作为道具传递给AddButton
组件,否则不会被触发。
您需要将以下代码放在AddButton
this.props.onClick();
因此,假设AddButton
有一个基础<button>
元素,AddButton
中的渲染将看起来像这样。
render() {
return <button onClick={this.props.onClick}>Add</button>
}