具有onclick事件处理程序的锚标记在React中不起作用

时间:2018-11-08 18:38:03

标签: reactjs

此代码似乎无法运行。

<a href="/blog" onClick={this.props.selectPage} name="blog">Blog</a>

如果删除href =“ / blog”,则selectPage函数将运行,如果删除onClick = {this.props.selectPage},它将重定向到/ blog。为什么一个触发另一个?我该如何解决呢?

2 个答案:

答案 0 :(得分:1)

来自父母

CellValue currentCellValue = currentCell.GetFirstChild<CellValue>();
if (currentCell.DataType == CellValues.SharedString) // cell has a cell value that is a string, thus, stored else where
    {
             data = doc.WorkbookPart.GetPartsOfType<SharedStringTablePart>().FirstOrDefault().SharedStringTable.ElementAt(int.Parse(currentCellValue.Text)).InnerText;
    }

不要使用SharedStringTable sharedStringTable1 = new SharedStringTable(){ Count = (UInt32Value)1U, UniqueCount = (UInt32Value)1U }; SharedStringItem sharedStringItem1 = new SharedStringItem(); Run run1 = new Run(); RunProperties runProperties1 = new RunProperties(); FontSize fontSize3 = new FontSize(){ Val = 11D }; Color color3 = new Color(){ Rgb = "FFFF0000" }; RunFont runFont1 = new RunFont(){ Val = "Calibri" }; FontFamily fontFamily1 = new FontFamily(){ Val = 2 }; FontScheme fontScheme4 = new FontScheme(){ Val = FontSchemeValues.Minor }; runProperties1.Append(fontSize3); runProperties1.Append(color3); runProperties1.Append(runFont1); runProperties1.Append(fontFamily1); runProperties1.Append(fontScheme4); Text text1 = new Text(); text1.Text = "Microsoft"; run1.Append(runProperties1); run1.Append(text1); Run run2 = new Run(); RunProperties runProperties2 = new RunProperties(); FontSize fontSize4 = new FontSize(){ Val = 11D }; Color color4 = new Color(){ Theme = (UInt32Value)1U }; RunFont runFont2 = new RunFont(){ Val = "Calibri" }; FontFamily fontFamily2 = new FontFamily(){ Val = 2 }; FontScheme fontScheme5 = new FontScheme(){ Val = FontSchemeValues.Minor }; runProperties2.Append(fontSize4); runProperties2.Append(color4); runProperties2.Append(runFont2); runProperties2.Append(fontFamily2); runProperties2.Append(fontScheme5); Text text2 = new Text(){ Space = SpaceProcessingModeValues.Preserve }; text2.Text = " is great"; run2.Append(runProperties2); run2.Append(text2); sharedStringItem1.Append(run1); sharedStringItem1.Append(run2); sharedStringTable1.Append(sharedStringItem1); sharedStringTablePart1.SharedStringTable = sharedStringTable1; ,使用onChange事件创建一个元素

答案 1 :(得分:0)

this在您的示例中未正确绑定。您需要写:

<a href="/blog" onClick={() => this.props.selectPage()} name="blog">Blog</a>

或:

<a href="/blog" onClick={this.props.selectPage.bind(this)} name="blog">Blog</a>